1

我正在尝试使用 BTEQ 导入将数据从文件导入表。

我在执行此操作时遇到了奇怪的错误

像:

如果我使用文本文件作为输入数据文件,使用“,”作为分隔符作为分隔符,我得到如下错误:

*** 失败 2673 源地块长度与定义的数据不匹配。

或者

如果我使用 EXCEL 文件作为输入数据文件,我得到如下错误:

* 将缓冲区增加到 53200 *错误:导入数据大小与字节长度不一致。原因可能是:1) IMPORT DATA vs. IMPORT REPORT 2) 传入数据不正确 3) 导入文件已到达文件末尾。*** 警告:数据不足。

请通过给出使用 txt 文件作为输入数据文件的 BTEQ 导入的语法以及我们使用 EXCEL 文件作为输入数据文件的语法来帮助我

输入数据文件是否有任何特定格式可以正确读取数据。如果是这样,请给我有关的信息。

提前致谢:)


编辑

很抱歉没有先发布脚本。我是 teradata 新手,还没有探索其他工具。我被要求为 BTEQ 导入编写脚本

.LOGON TDPD/XXXXXXX,XXXXXX
.import VARTEXT ',' FILE = D:\cc\PDATA.TXT
.QUIET ON
.REPEAT *
USING
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

我也尝试使用 tab(\t) 作为字段分隔符来做同样的事情,但它给出了同样的旧错误。
问)这仅适用于逗号分隔的 txt 文件吗?

请你能告诉我在哪里可以找到BTEQ手册...

非常感谢

4

1 回答 1

3

你能发布你的BTEQ脚本吗?请问您为什么使用 BTEQ 而不是 FastLoad 或 MultiLoad?

文本文件错误可能是由于 using 子句中声明的数据类型。我相信在读取分隔输入时需要将它们声明为 VARCHAR(例如,对于 INTEGER 字段声明为 VARCHAR(10))。

至于 Excel,我在 BTEQ 手册中找不到任何说明 BTEQ 可以处理 .xls 文件的内容。


对于制表符分隔的文件,您是否这样做(这是下面的制表符)?

.import vartext '   '

或这个?

.import vartext '\t'

前者有效,后者无效。

我的 BTEQ 手册在我的工作机器上。“BTEQ 手册”的第一批 Google 结果之一应该会在网上产生一个。

于 2009-08-28T05:34:31.797 回答