【问题标题】:How can i set MySQL mode to 'ANSI' from an SSIS package如何从 SSIS 包中将 MySQL 模式设置为“ANSI”
【发布时间】:2016-11-14 18:43:09
【问题描述】:

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

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

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

数据插入过程中发生异常,提供者返回的消息是:ERROR: You have an error in your SQL syntax;查看与您的 MySQL 服务器版本相对应的手册,了解在 '"myColumn1", "myColumn1") VALUES (?, ?)' 附近使用的正确语法

当我对此进行调查时,似乎可以通过将 MySQL 模式设置为“ANSI”来解决该错误,但由于我是 MySQL 新手,我认为上述命令已经将模式设置为“ANSI” ,这是真的吗?

如果不是这样,我如何从 SSIS 包中将 MySQL 模式设置为“ANSI”?

我还需要在 MySQL 服务器上获得什么权限?

【问题讨论】:

    标签: mysql sql-server ssis


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-23
      • 2014-03-04
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      相关资源
      最近更新 更多