如何将MySQL模式设置为' ANSI'来自SSIS包

时间:2016-07-12 13:29:17

标签: mysql sql-server ssis

我有一个SSIS包,可以将数据从MSSQL server 2008 R2表传输到MySQL 5.6。

    Set sql_mode='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES'

在包中,在执行传输的数据流任务之前,我首先执行上面的命令,但是当达到实际数据传输步骤时,我得到类似于下面的错误

  

数据插入期间发生异常,从提供程序返回的消息是:错误:SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便使用正确的语法在&#39;&#34; myColumn1&#34;,&#34; myColumn1&#34;)VALUES(?,?)&#39; < / p>

正如我调查的那样,似乎可以通过将MySQL模式设置为&#39; ANSI&#39;来解决错误。但由于我是MySQL的新手,我以为上面的命令已经将模式设置为&#39; ANSI&#39;,这是真的吗?

如果这不是真的,我怎样才能将MySQL模式设置为&#39; ANSI&#39;来自SSIS包?

我还需要MySQL服务器上的特权?

1 个答案:

答案 0 :(得分:0)

显然,诀窍是让SSIS在插入数据之前运行这个SET SESSION sql_mode= 'ansi';命令而不会弄乱包本身?

最简单的方法是让ODBC驱动程序在SSIS打开连接时发送命令,这可以在ODBC源的设置中配置

REF:http://www.ash.burton.fm/blogs/2011/03/pgsql_ssis_mysql这确实解决了我所面临的错误。

相关问题