SSIS ODBC 错误 运行 多个 DFT 连接到 Sybase 服务器

SSIS ODBC error running multiple DFTs connecting to Sybase server

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

[ODBC Source [14]] Error: Open Database Connectivity (ODBC) error occurred. state: '08S01'. Native Error Code: 30016. [Sybase][ODBC Driver]Bad TDS response stream received from server. Unsupported length for TDS_INTN: 111

[ODBC Source [14]] Error: Open Database Connectivity (ODBC) error occurred. state: '08S01'. Native Error Code: 30016. [Sybase][ODBC Driver]Bad TDS response stream received from server. Unexpected token type received: 109.

[ODBC Source [69]] Error: Open Database Connectivity (ODBC) error occurred. state: '01004'. Native Error Code: 32007. [Sybase][ODBC Driver]String data, right truncated

您面临的主要错误是

Right truncation of string data

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

Non-space characters were truncated upon the assignment of string data.

建议

  • 您必须增加所用 parameter/field/variable 的大小

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

基于此Sybase Documentation

If the truncated characters consist only of spaces, no exception is raised. The setting of On corresponds to ANSI/ISO SQL/2008 behavior. When this option is set to Off, the exception is not raised and the character string is silently truncated.

String truncation may occur in several places. For example, using INSERT, UPDATE, CAST, or assignment to a variable may truncate a string if the declared destination type is too short.

类似问题链接