SSIS ODBC 运行连接到 Sybase 服务器的多个 DFT 时出错



使用 ODBC 连接连接到 Sybase ASE 服务器时,我在 SSIS 中遇到一个奇怪的错误。我有几个DFT连接到同一台服务器,当我运行整个软件包时,其中几个中途失败,并显示以下错误消息。如果我一次运行一个 DFT,它们就会成功完成。我已经考虑过重组包以按顺序运行它们,但是我会失去并行执行的好处,更不用说这将是一项繁重的工作,因为它是一个大包。希望有人以前见过这个,因为谷歌还没有出现任何答案。

[

ODBC 源 [14]] 错误:发生打开数据库连接 (ODBC) 错误。 状态:"08S01"。本机错误代码:30016。[系统数据库][ODBC 驱动程序]不良的 TDS 从服务器接收的响应流。 不支持的 TDS_INTN 长度:111

[ODBC 源 [14]] 错误:发生打开数据库连接 (ODBC) 错误。 状态:"08S01"。本机错误代码:30016。[系统数据库][ODBC 驱动程序]不良的 TDS 从服务器接收的响应流。收到的意外令牌类型:109。

[ODBC 源 [69]] 错误: 发生打开数据库连接 (ODBC) 错误。 状态:"01004"。本机错误代码:32007。[系统数据库][ODBC 驱动程序]字符串数据, 右截断

您面临的主要错误是

字符串数据的右截断

根据以下 Sybase 文档,此错误的可能原因是:

非空格字符在分配字符串数据时被截断。

建议

  • 您必须增加使用的参数/字段/变量的大小

  • 您可以将string_rtruncation option设置为Off,以便在发生截断时不会引发异常。

基于此 Sybase 文档

如果截断的字符仅包含空格,则不会引发异常。"打开"的设置对应于 ANSI/ISO SQL/2008 行为。当此选项设置为 Off 时,不会引发异常,并且字符串将被静默截断。

字符串截断可能发生在多个位置。例如,如果声明的目标类型太短,则对变量使用 INSERT、UPDATE、CAST 或赋值可能会截断字符串。

类似问题链接

  • 通过 ORACLE SQL*PLUS 查询 OPENEDGE 数据库中的数据时出现 ODBC 错误"字符串数据,右截断">

最新更新