我尝试使用BTEQ导入从文件中导入数据。
我在执行此操作时面临奇怪的错误
像:
如果我使用文本文件作为输入数据文件','作为分隔符作为提交的分隔符我得到错误如下:
***失败2673源宗地长度与定义的数据不匹配。
或
如果我使用EXCEL文件作为输入数据文件我得到如下错误:
*增长缓冲区为53200 * 错误:导入数据大小与字节长度不一致。 原因可能是: 1)进口数据与进口报告 2)输入数据不正确 3)导入文件已到达文件结尾。 ***警告:数据不足。
请使用txt文件作为输入数据文件给出BTEQ导入的语法,如果我们使用EXCEL文件作为输入数据文件,还要提供语法
输入数据文件也有任何特定格式,可以正确读取数据。 如果是这样,请告诉我有关的信息。
提前致谢:)
.LOGON TDPD / XXXXXXX,XXXXXX
.import VARTEXT','FILE = D:\ cc \ PDATA.TXT
.QUIET ON
.REPEAT *
使用
COL1(VARCHAR(2))
,COL2(VARCHAR(1))
,COL3(VARCHAR(56))
插入进入(COL1
,COL2
,COL3)
值(:COL1
,:COL2
,:COL3);
.QUIT
我执行了上面的脚本,并使用txt(用逗号分隔文件)文件并将数据类型作为varchar成功。
示例输入txt文件:
1,B,helloworld1
2,B,helloworld2
3,d,helloworld1
12,B,helloworld1
我也尝试使用制表符(\ t)作为字段分隔符来执行相同的操作,但它会产生相同的旧错误。
问)这是否仅适用于逗号分隔的txt文件?
请告诉我在哪里可以找到BTEQ手册......
非常感谢
答案 0 :(得分:3)
你可以发布你的BTEQ脚本吗?我还可以问你为什么使用BTEQ而不是FastLoad或MultiLoad?
文本文件错误可能是由于using子句中声明的数据类型造成的。我认为在读取分隔输入时需要将它们声明为VARCHAR(例如,为INTEGER字段声明为VARCHAR(10)。)
对于Excel,我在BTEQ手册中找不到任何说BTEQ可以处理.xls文件的内容。
对于制表符分隔文件,您是否这样做(这是下面的制表符)?
.import vartext ' '
还是这个?
.import vartext '\t'
以前的作品,后者没有。
我的BTEQ手册在我的工作机器上。 “BTEQ手册”的第一个谷歌搜索结果之一应该在网上产生一个。