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

时间:2018-01-10 19:29:57

标签: sql-server ssis odbc sybase-ase ssis-2012

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

  

[ODBC Source [14]]错误:发生了打开数据库连接(ODBC)错误。       州:' 08S01'。本机错误代码:30016。[Sybase] [ODBC驱动程序]错误的TDS       从服务器收到的响应流。       TDS_INTN的长度不受支持:111

     

[ODBC Source [14]]错误:发生了打开数据库连接(ODBC)错误。       州:' 08S01'。本机错误代码:30016。[Sybase] [ODBC驱动程序]错误的TDS       从服务器收到的响应流。收到意外的令牌类型:109。

     

[ODBC Source [69]]错误:发生了打开数据库连接(ODBC)错误。       州:' 01004'。本机错误代码:32007。[Sybase] [ODBC驱动程序]字符串数据,       右截断

1 个答案:

答案 0 :(得分:1)

您面临的主要错误是

  

字符串数据的右截断

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

  

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

<强>建议

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

OR

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

基于此Sybase Documentation

  

如果截断的字符仅由空格组成,则不会引发异常。 On的设置对应于ANSI / ISO SQL / 2008行为。如果将此选项设置为Off,则不会引发异常,并且会以静默方式截断字符串。

     

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

类似问题链接