0

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

@echo off

cd C:\Program Files\Teradata\Client\13.0\bin

bteq .LOGON server/username,password;

select date;

.LOGOFF

@echo off goto end

:end @echo exit

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

选择日期;

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

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

bteq <myscript.txt> mylog.log

但它也没有用。

4

2 回答 2

3

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

批处理文件:

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...

于 2011-11-18T08:01:01.607 回答
0

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

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

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

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

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

echo off
bteq < C:\temp\BTScript.txt > c:\temp\bteqscriptout.txt 2>&1
@echo off goto end
:end @echo exit

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

于 2017-01-13T01:58:22.107 回答