You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS执行SQL任务连接MySQL 单条SQL正常多条执行报错

问题原因

SSIS Execute SQL任务通过ADO.NET驱动连接MySQL时,默认驱动配置不支持单批次内多条独立SQL的结果状态回传校验:单条SQL执行时驱动返回的执行计数符合任务预期,可正常运行;多条SQL连续执行时驱动会返回多个结果序列,和任务默认的单结果校验逻辑冲突,直接抛出ResultSet配置相关错误。

解决方案

任选以下一种方案即可实现单任务执行多语句:

  • 方案1:调整连接字符串配置
    打开当前使用的ADO.NET MySQL连接管理器,在连接字符串末尾追加配置项:AllowUserVariables=True;AllowBatch=True;,如果使用旧版Oracle官方MySql.Data驱动,需额外追加CheckParameters=False。配置完成后原有SQL语句无需修改,直接执行即可。
  • 方案2:改写SQL为语句块格式
    将任务的ResultSet属性设置为None,清空所有参数映射配置,替换直接输入的SQL内容如下:
    DELIMITER //
    BEGIN
      CREATE TABLE Test_abc (
        task_id INT AUTO_INCREMENT PRIMARY KEY,
        title VARCHAR(255) NOT NULL
      );
      INSERT INTO Test_abc(title) VALUES('abc');
    END //
    DELIMITER ;
    
  • 方案3:添加适配语句兼容驱动校验逻辑
    无需修改连接配置,保持ResultSet属性为None,在原有SQL前后各加一行简单查询语句,适配驱动的结果返回逻辑即可,示例:
    SELECT 1;
    CREATE TABLE Test_abc (
        task_id INT AUTO_INCREMENT PRIMARY KEY,
        title VARCHAR(255) NOT NULL
      );
    INSERT INTO Test_abc(title) VALUES('abc');
    SELECT 1;
    

内容的提问来源于stack exchange,提问作者Saira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:15:44