如何使用BTEQ编写批处理(*.bat)脚本来执行Teradata查询



下面是我的script.bat的内容:

@echo off
cd C:Program FilesTeradataClient13.0bin
bteq .LOGON server/username,password;
select date;
.LOGOFF
@echo off goto end
:end @echo exit

我对登录没有问题,但似乎bteq无法读取我的查询语句:

选择日期;

提示输入。谁能帮我让bteq读取和执行查询语句?

我已经尝试了关于输入和输出文件的在线解决方案:

bteq <myscript.txt> mylog.log

您将需要两个文件,一个是批处理文件,另一个是命令文件。

批处理文件:

echo off
cd C:bteq_directory
bteq < c:commands.txt > c:output.txt 2>&1
@echo off goto end
:end @echo exit

命令:

.LOGON server/username,password
select date;
.LOGOFF
编辑:

去掉.LOGON...后面的分号

这有点晚了,但这是我发现的:

我将BTEQ脚本保存在名为BTScript.txt的文件中:

.LOGON <servername>/<username>,<password>;
.SET WIDTH 20000;
.SET separator '|';
.EXPORT FILE = C:TEMPtestBTEQ.txt;
SELECT top 10 * ATABLENAME;
.LOGOFF
.EXIT

宽度的设置是为了防止数据被截断,如果记录不是那么长,它不会达到20000个字符。

为了运行这个,我在一个.bat文件上执行(我的pc设置为允许我双击windows资源管理器中的文件来执行此操作),其内容为:

echo off
bteq < C:tempBTScript.txt > c:tempbteqscriptout.txt 2>&1
@echo off goto end
:end @echo exit

这里提到的第二个文件将包含BTEQ的输出。

最新更新