我尝试使用SSIS将一个表从SQL Server传输到MySQL,但是在SQL Server上的varchar(max)列和MySQL上的text列上失败了。到目前为止,我已经尝试将其作为OLE DB到ODBC数据流,以及BCP输出到平面文件到ODBC数据流。有问题的字段在SSIS中配置为DT_TEXT。在这两种情况下,它都会产生以下一组错误:
[ODBC Destination 47]错误:发生开放数据库连接(ODBC)错误。插入第1行时SQLExecute返回错误
[ODBC Destination 47]错误:发生开放数据库连接(ODBC)错误。状态:'HYC00‘。本机错误代码: 0。MySQLmysqld-5.1.69-不支持包含执行时数据的日志参数数组
SSIS.Pipeline错误: SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件"ODBC目标“(47)上的ProcessInput方法在处理输入"ODBC目标输入”(58)时失败,错误代码为0x80004005。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但该错误是致命的,并将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关故障的更多信息。
当我选择忽略该列时,包的两个版本都可以正常运行。
我还想指出的是,以前这是使用带有openquery的链接服务器来完成的,它工作起来没有任何问题。然而,由于性能问题,我们正试图远离链接服务器。
更新:
我成功地使用SQL Server BCP out
完成了所需的行为,然后使用了SSIS,但是知道如何使用MySQL数据流来实现这一点仍然很好,因为它肯定是更简单的方法,而且应该更快,因为它在内存中操作。
https://stackoverflow.com/questions/25875389
复制相似问题