数据值已通过二进制格式提取/加载进行了更改

2020-09-16 12:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

这是我使用二进制提取/加载时刚刚发现的一个问题。

步骤:

1。 创建表test1(id int,str varchar(20),flag int);

2。 插入test1值(0,'haha',0); commit;

3。 从test1中选择*进入test2,其中1 = 2;

4。 -提取部分-

设置临时选项temp_extract_name1 ='test1_bin.dat';
设置临时选项temp_extract_directory ='/iq16/rs/charset';
设置临时选项isql_show_multiple_result_sets ='on';
设置临时选项ISQL_PRINT_RESULT_SET ='ALL';
设置临时选项temp_extract_quotes =' 关闭";
设置临时选项temp_extract_quotes_all ='off';
设置临时选项temp_extract_binary ='ON';
设置临时选项dml_options14 = 8;
设置临时选项temp_extract_column_delimiter ='\ x0F';
从test1选择*;
设置临时选项temp_extract_name1 ='';

5。 -负载表部分-

使用以'\ x0F'分隔的文件'/iq16/rs/charset/test1_bin.dat'加载表test2(id,str,flag),引号转义为二进制格式;

然后-我们可以看到-值已更改-

(DBA)>从test2选择*;
id str标志
----------------------------- ---------------
0 haha​​ 32

(1行)

执行时间:0.015秒

如果源表中包含更多行-甚至会更糟-接下来的行将变得越来越多,直到充满非法字符为止。 就像-

提取之前-

(DBA)>从test1选择*;
id str标志
----------------------------- ---------------
0 haha​​ 0
1 hehe 1

(2行)
提取/加载后-
( DBA)>从test2选择*;
id str标志
--------------------------------- -----------
0 haha​​ 32
16777216 hehe 538976288

(2行)

我不知道这是否是错误。 请提供帮助-我的IQ版本是-

(DBA)>选择@@ version;
@@ version
----------------------------- -------------------------------------------------- ------------------------------------------------- < br> SAP IQ/16.0.110.2722/10940/P/sp11.19/Enterprise Linux64-x86_64-2.6.18-194.el5/64bit/2018-03-12 02:46:27

谢谢

致谢

艾森

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

这是我使用二进制提取/加载时刚刚发现的一个问题。

步骤:

1。 创建表test1(id int,str varchar(20),flag int);

2。 插入test1值(0,'haha',0); commit;

3。 从test1中选择*进入test2,其中1 = 2;

4。 -提取部分-

设置临时选项temp_extract_name1 ='test1_bin.dat';
设置临时选项temp_extract_directory ='/iq16/rs/charset';
设置临时选项isql_show_multiple_result_sets ='on';
设置临时选项ISQL_PRINT_RESULT_SET ='ALL';
设置临时选项temp_extract_quotes =' 关闭";
设置临时选项temp_extract_quotes_all ='off';
设置临时选项temp_extract_binary ='ON';
设置临时选项dml_options14 = 8;
设置临时选项temp_extract_column_delimiter ='\ x0F';
从test1选择*;
设置临时选项temp_extract_name1 ='';

5。 -负载表部分-

使用以'\ x0F'分隔的文件'/iq16/rs/charset/test1_bin.dat'加载表test2(id,str,flag),引号转义为二进制格式;

然后-我们可以看到-值已更改-

(DBA)>从test2选择*;
id str标志
----------------------------- ---------------
0 haha​​ 32

(1行)

执行时间:0.015秒

如果源表中包含更多行-甚至会更糟-接下来的行将变得越来越多,直到充满非法字符为止。 就像-

提取之前-

(DBA)>从test1选择*;
id str标志
----------------------------- ---------------
0 haha​​ 0
1 hehe 1

(2行)
提取/加载后-
( DBA)>从test2选择*;
id str标志
--------------------------------- -----------
0 haha​​ 32
16777216 hehe 538976288

(2行)

我不知道这是否是错误。 请提供帮助-我的IQ版本是-

(DBA)>选择@@ version;
@@ version
----------------------------- -------------------------------------------------- ------------------------------------------------- < br> SAP IQ/16.0.110.2722/10940/P/sp11.19/Enterprise Linux64-x86_64-2.6.18-194.el5/64bit/2018-03-12 02:46:27

谢谢

致谢

艾森

付费偷看设置
发送
3条回答
大圣 - sap领域执行人,9年sap运营经验
1楼 · 2020-09-16 12:35.采纳回答

你好艾森,

我还使用SAP IQ版本" SAP IQ/16.1.020.528/10528/P/sp02/MS/Windows 2012 R2/64bit/2017-07-14 14:45:44"对您进行了复制

我的行为相同,结果如下:

id,str,标志
0,'haha',32
0,'haha',32
0,'haha',32
0,'haha',32
> 256,'haha',538976288
2105376,'hehe',538976288
16777216,'hehe',538976288

请您打开一个事件,然后我将与开发人员一起进行进一步调查。

让我知道事件编号。

致谢,
克劳德

吹牛啤
2楼-- · 2020-09-16 12:47

亲爱的克劳德,

非常感谢。 事件是-1880389257

请看看。 谢谢

致谢

艾森

梦想连接
3楼-- · 2020-09-16 12:57

亲爱的克劳德,

非常感谢...这是我的错-我忘记了"带空字节的二进制文件",而只是重用ascii加载中的load语句。

再次感谢

致谢

艾森

一周热门 更多>