1

我必须使用 SSIS 包将一些数据从 SQL Server 插入到 Teradata Server。对于 SQL Server,我使用 OleDb Source(按变量)来检索数据,对于 Teradata,我使用 Ado.Net 连接器将数据写入 Teradata 表。

但是对于一张桌子我有错误

VarChar、VarByte 或 VARGRAPHIC 的数据长度无效

启动数据流时。

如果我从 OleDb 源预览值,将它们复制到 Teradata SQL 助手并编写插入查询,它可以工作,但是当 SSIS 包尝试插入数据时,它给了我

VarChar、VarByte 或 VARGRAPHIC 的数据长度无效

错误并停止。

我检查了网络,但找不到任何有效的方法,我检查了 SQL 语句没有任何 Null 值(使用 -1 作为 Null)。

有什么提示吗?

4

1 回答 1

0

我发现通过在 (n)varchar 值的前后添加 2 个空格来解决此问题。我不需要原始子句的 ISNULL 语句。我得到了提示: http: //go4answers.webhost4life.com/Example/teradata-invalid-data-length-varchar-44224.aspx

于 2013-11-27T00:27:59.930 回答