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

SSIS中MySQL ODBC源报错DTS_E_PRIMEOUTPUTFAILED的解决求助

SSIS MySQL ODBC数据源报错(DTS_E_PRIMEOUTPUTFAILED/01004)解决建议

报错信息

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on ODBC Source MySource returned error code 0x80004005. 当管道引擎调用PrimeOutput()时,该组件返回失败代码,此错误为致命错误,管道已停止执行,此前可能有更多相关错误信息。
[ODBC Source MySource [40]] Error: Open Database Connectivity (ODBC) error occurred. state: '01004'. Native Error Code: 0. [MySQL][ODBC 8.0(w) Driver][mysqld-5.6.47-log]

当前连接字符串

Driver={MySQL ODBC 8.0 Unicode Driver};server=0.0.0.0;uid=MyUser;database=NYDatabase;port=0000

可行解决步骤

  • 匹配驱动与MySQL版本:ODBC 8.0驱动与MySQL 5.6版本跨度较大,易引发兼容性问题。建议替换为MySQL ODBC 5.3 Unicode Driver,该版本对MySQL 5.x系列支持更稳定。
  • 完善连接字符串参数:
    • 补充密码参数:追加;pwd=你的数据库密码
    • 替换占位符:将server=0.0.0.0和port=0000改为实际的MySQL服务器IP与端口
    • 添加字符集配置:加上;charset=utf8mb4;或;Unicode=Yes;,避免字符集转换导致的数据截断
  • 排查数据截断问题:ODBC状态码01004对应数据截断错误,大概率是源表字段数据长度超过SSIS中定义的字段长度:
    • 单独测试每个字段的查询,定位触发截断的字段
    • 调整SSIS目标字段的长度至足够容纳源数据,或在MySQL查询中对超长字段做截断处理(如LEFT(your_column, 255))
  • 开启ODBC驱动日志:在ODBC数据源管理器中找到对应的MySQL数据源,开启日志记录,获取更详细的错误细节以精准定位问题
  • 验证权限与基础查询:
    • 用ODBC数据源管理器测试连接是否成功
    • 执行简单查询(如SELECT * FROM your_table LIMIT 10)验证能否正常读取数据,排除查询语句或权限问题
  • 检查SSIS运行账户权限:确保运行SSIS包的Windows账户或服务账户,对MySQL数据库拥有足够的读权限,避免因权限不足导致的隐性错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:37:38