我有一个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服务器上的特权?
答案 0 :(得分:0)
显然,诀窍是让SSIS在插入数据之前运行这个SET SESSION sql_mode= 'ansi';
命令而不会弄乱包本身?
最简单的方法是让ODBC驱动程序在SSIS打开连接时发送命令,这可以在ODBC源的设置中配置
REF:http://www.ash.burton.fm/blogs/2011/03/pgsql_ssis_mysql这确实解决了我所面临的错误。