Sql server 2008 使用SSIS从SQL Server 2008迁移到MySQL时出现语法错误

Sql server 2008 使用SSIS从SQL Server 2008迁移到MySQL时出现语法错误,sql-server-2008,ssis,data-migration,Sql Server 2008,Ssis,Data Migration,这是我的第一个SSIS包,我已经学习了一些教程,在运行它之前,一切看起来都很好。我正在尝试将数据从SQLServer2008数据库同步到MySQL数据库(只有一个表和两列)。运行包后,我得到以下错误 [ADO NET Destination[16]]错误:过程中发生异常 数据插入时,提供程序返回的消息是:您有 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便在“UPC”、“Model”附近使用正确的语法 第1行的值(p1,p2)' 下一行呢 [SSIS.管道] 错误:SSI

这是我的第一个SSIS包,我已经学习了一些教程,在运行它之前,一切看起来都很好。我正在尝试将数据从SQLServer2008数据库同步到MySQL数据库(只有一个表和两列)。运行包后,我得到以下错误

[ADO NET Destination[16]]错误:过程中发生异常 数据插入时,提供程序返回的消息是:您有 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便在“UPC”、“Model”附近使用正确的语法 第1行的值(p1,p2)'

下一行呢

[SSIS.管道]
错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。
组件“ADO网络目标”(16)上的ProcessInput方法在处理输入“ADO网络目标输入”(19)时失败,错误代码为0xC020844B。
标识的组件从ProcessInput方法返回错误。该错误特定于组件,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关故障的更多信息

我的问题是:

  • 为什么我会犯这个错误
  • 如何解决

  • 查看MSDN链接了解ADO.NET和MySQL的问题:

    从MSDN文档中:

    注意,我建议在写入MySQL数据库时使用ODBC驱动程序,因为MySQL.NET连接器还有一个额外的阻塞问题。如果您尝试,将出现如下错误:

    Error: 2009-01-05 12:03:47.79 
       Code: 0xC020844B 
       Source: Data Flow Task 1 Destination - Query [28] 
       Description: An exception has occurred during data insertion, 
                    the message returned from the provider is: 
                    You have an error in your SQL syntax; check the manual that corresponds
                    to your MySQL server version for the right syntax to use near 
                    '"name", "date", "type", "remark") 
                    VALUES (p1, p2, p3, p4), (p1,p2,p3,p4), (p1,p2' at line 1 
    End Error
    

    请注意,“值”部分有参数名,而不是实际值。这似乎是MySQL提供程序为其参数markerformat返回的值存在问题。我确实发现了一个针对他们的bug,但看起来他们决定不修复它。我听说DevArt dotConnect驱动程序没有这个问题,但我自己还没有试过。

    我以前见过这个url。这是从2009年开始的,我希望现在可能会有更好的解决方案。