【问题标题】:How to import data into teradata tables from an excel file using BTEQ import?如何使用 BTEQ 导入将数据从 excel 文件导入 teradata 表?
【发布时间】:2010-11-23 00:28:22
【问题描述】:

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

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

喜欢:

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

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

或

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

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

请提供使用 txt 文件作为输入数据文件的 BTEQ 导入语法以及我们使用 EXCEL 文件作为输入数据文件时的语法

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

提前致谢:)


编辑

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

.LOGON TDPD/XXXXXXX,XXXXXX
.import VARTEXT ',' 文件 = D:\cc\PDATA.TXT
.QUIET ON
.REPEAT *
使用
COL1 (VARCHAR(2))
,COL2 (VARCHAR(1))
,COL3 (VARCHAR(56))

插入
( COL1
,COL2
,COL3)
值 ( :COL1
,:COL2
,:COL3);
.退出
我执行了上面的脚本,它成功地使用了一个 txt(用逗号分隔文件)文件并将数据类型指定为 varchar。

示例输入 txt 文件:
1,b,helloworld1
2,b,helloworld2
3,D,helloworld1
12,b,helloworld1

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

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

非常感谢

【问题讨论】:

    标签: excel teradata


    【解决方案1】:

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

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

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


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

    .import vartext '   '
    

    还是这个?

    .import vartext '\t'
    

    前者有效,后者无效。

    我的 BTEQ 手册在我的工作机器上。 “BTEQ 手册”的第一批 Google 搜索结果之一应该会在线生成。

    【讨论】:

    • 是的..我尝试了上面的东西..它是成功的,并且行为方式与上述相同。它与 ' ' 一起工作,但与 '\t' 一起失败,也感谢您帮助我找到 BTEQ 手册
    猜你喜欢
    • 2010-11-22
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2018-02-19
    • 2015-05-31
    • 2019-11-28
    • 1970-01-01
    相关资源
    最近更新 更多