使用SSIS无法将SQL Server的varchar(max)转换为MySQL的text

4
我正在尝试使用SSIS将一个包含varchar(max)字段的表从SQL Server传输到MySQL,但是在转移过程中失败了。我已经尝试使用OLE DB到ODBC数据流和从BCP导出成为一个平面文件再到ODBC数据流的方式进行数据转移。在SSIS中,这个字段被配置为DT_TEXT类型。但在两种情况下,都会产生以下一系列错误信息:
[ODBC Destination [47]] Error: Open Database Connectivity (ODBC) error occurred. SQLExecute returned error while inserting row 1 [ODBC Destination [47]] Error: Open Database Connectivity (ODBC) error occurred. state: 'HYC00'. Native Error Code: 0. [MySQL][ODBC 5.2(a) Driver][mysqld-5.1.69-log] Parameter arrays with data at execution are not supported [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "ODBC Destination" (47) failed with error code 0x80004005 while processing input "ODBC Destination Input" (58). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
当我选择忽略该字段时,两个版本的数据包均可以正常运行。
我还想指出的是,以前我们使用链接服务器和openquery完成了此操作,并且没有任何问题。但由于性能问题,我们正在努力远离链接服务器。
更新:
我使用SQL Server的BCP导出和MySQL的LOAD DATA INFILE实现了所需的行为,但仍然想知道如何使用SSIS数据流来实现此操作,因为这肯定是更容易且在内存中运行速度更快的方法。
2个回答

2

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接