使用unix从teradata获取连续的所有数据

时间:2017-10-04 14:43:01

标签: unix teradata

我正在尝试使用unix

获取teradata中连续的所有数据

我没有连续获得所有数据。它只将数据的一半输出到每行的txt文件中

我正在使用

bteq <<EOF
.logmech ldap
.logon IP/user_name,password
.EXPORT REPORT FILE=test.txt
    .SET RECORDMODE OFF;
    .SET WIDTH 65531;
.Set Titledashes off;

 select requesttext(title '') from abc.tb 


.export reset; 
.LOGOFF;
.EXIT;
EOF

我已经使用了最大宽度,但仍然无法获取整行,它只获取行的一半。 我的每一行都有大量的数据

2 个答案:

答案 0 :(得分:1)

以上案例已在bteq上模拟,以下是调查结果。

如果列定义具有FORMAT 'X(255)'子句,则只导出第一个256个字符,否则将导出所有数据。

  

示例场景

场景1:表格中有一行1017个字符。只导出第一个255个字符。

表定义如下

CREATE SET TABLE abc ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      c1 VARCHAR(12500) CHARACTER SET UNICODE NOT CASESPECIFIC FORMAT 'X(255)')
PRIMARY INDEX ( c1 );

场景2:表格中有一行1017个字符。整行出口。

表定义如下

CREATE SET TABLE abcd ,NO FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO
     (
      c1 VARCHAR(12500) CHARACTER SET UNICODE NOT CASESPECIFIC)
PRIMARY INDEX ( c1 );

答案 1 :(得分:0)

我得到了我的问题的解决方案

我用过

select requesttext (format 'x(12500)')(title '') from abc.tb

现在正在获取所有数据

感谢大家的回复