如何使用 BTEQ 脚本将数据从 Excel 文件导入到 Teradata 表?

发布于 2024-08-03 04:33:37 字数 1126 浏览 6 评论 0原文

我能够使用 GUI 实用程序 Teradata Sql 助手使用 Excel 文件或文本文件中的数据填充表格。但现在我需要使用 bteq 脚本将数据从 excel 文件导入到 teradata 表中。我一直在尝试使用

.IMPORT REPORT

.IMPORT DATA

.IMPORT VARTEXT 我也尝试过其他东西,但没有用。我已经参考了 teradataforum 中的一些答案并用谷歌搜索了相同的答案,但我的脚本无法正常工作。请帮助我编写一个脚本,该脚本将使用 BTEQ 脚本从 Excel 文件或至少文本文件导入数据。我的脚本如下...

.LOGON XXXX/XXXXXX,XXXX
.import data FILE = D:\XX\XXXX.xls ;
.QUIET ON 
.REPEAT * 
USING COL1  (CHAR(1))
     ,COL2  (CHAR(1))
     ,COL3 (VARCHAR(100))

INSERT INTO DATABASE.TABLE
    ( COL1
     ,COL2
     ,COL3)
VALUES ( :COL1
        ,:COL2
        ,:COL3);
.QUIT

编辑:

到现在我才来了这么久。我已使用以下代码成功从逗号分隔的文本文件加载数据。但在 Excel 中如何实现呢?

.LOGON xxxx/xxxx,xxxx
.IMPORT VARTEXT ',' FILE=xxxxx.TXT;
.QUIET ON 
.REPEAT * 
USING 
(   col1 VARCHAR(2)
    ,col2 VARCHAR(1)
    ,col3 VARCHAR(60)
)        
INSERT INTO database.table
    ( col1
     ,col2
     ,col3)
VALUES ( :col1
    ,:col2
    ,:col3);
.QUIT

示例逗号分隔的文本文件

1,B,status1
2,B,status2
3,B,status3


如果可能的话请帮助我加载与 Excel 文件相同的内容。

I was able to do fill tables with data from Excel file or text files using GUI utility Teradata Sql assistant. But now I have a requirement to import data into teradata tables from excel file using a bteq script. I have been trying to do that using

.IMPORT REPORT

.IMPORT DATA

.IMPORT VARTEXT and I have tried other things also, but of no use. I have referred to some answers in teradataforum and googled for the same but my script is not working. Please help me with a script which will import data from excel file or atleast text file using BTEQ script.My script is as follows...

.LOGON XXXX/XXXXXX,XXXX
.import data FILE = D:\XX\XXXX.xls ;
.QUIET ON 
.REPEAT * 
USING COL1  (CHAR(1))
     ,COL2  (CHAR(1))
     ,COL3 (VARCHAR(100))

INSERT INTO DATABASE.TABLE
    ( COL1
     ,COL2
     ,COL3)
VALUES ( :COL1
        ,:COL2
        ,:COL3);
.QUIT

EDIT:

Till now I came this long. I have successfully loaded data from comma separated text file using the following code. But how to do it in Excel?

.LOGON xxxx/xxxx,xxxx
.IMPORT VARTEXT ',' FILE=xxxxx.TXT;
.QUIET ON 
.REPEAT * 
USING 
(   col1 VARCHAR(2)
    ,col2 VARCHAR(1)
    ,col3 VARCHAR(60)
)        
INSERT INTO database.table
    ( col1
     ,col2
     ,col3)
VALUES ( :col1
    ,:col2
    ,:col3);
.QUIT

Sample comma separated text file being

1,B,status1
2,B,status2
3,B,status3

etc.
Please help me if possible to load the same with Excel file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

递刀给你 2024-08-10 04:33:37

这是不可能的 - Excel 是二进制格式。您必须将其从 Excel 保存为逗号分隔值文件 (.CSV)。您还可以使用链接到 Teradata 表和电子表格的 Access 数据库提出一些复杂的解决方案。

This is not possible - Excel is a binary format. You have to save it as a comma-separated values file (.CSV) from Excel. You might also be able to come up with some convoluted solution using an Access database that links to the Teradata table and the spreadsheet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文