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

VS2022中SSIS无法连接Excel数据源,请求解决方案

SSIS连接32位Excel数据源失败的解决建议

环境信息

  • Visual Studio Professional 2022
  • 32位Microsoft Excel 365(版本2301 内部版本16.0.16026.20214)
  • 64位Windows操作系统

错误信息

TITLE: Microsoft Visual Studio

Could not retrieve the table information for the connection manager 'Excel Connection Manager'.
Failed to connect to the source using the connection manager 'Excel Connection Manager'

BUTTONS: OK

已尝试的无效操作

  • 安装32位Microsoft Access Database Engine 2010/2016 Redistributable(含静默参数)
  • 修改连接字符串Provider为Microsoft.ACE.OLEDB.12.0
  • 将Excel另存为97-2003(.xls)及.xlsx格式
  • 设置DelayValidation为TRUE
  • 项目调试配置中设置Run64BitRuntime = False
  • 安装SSAS

额外可行建议

  1. 彻底清理并重装ACE驱动

    • 先卸载所有已安装的ACE驱动(32/64位版本),在控制面板的「程序和功能」中找到对应条目删除
    • 重启电脑后,以管理员身份打开命令提示符,执行32位ACE驱动的静默安装命令:AccessDatabaseEngine.exe /quiet(确保下载的是对应32位安装包)
    • 安装完成后再次重启电脑
  2. 确保Visual Studio运行位数与驱动匹配

    • 右键Visual Studio快捷方式,进入「属性」-「兼容性」,勾选「以管理员身份运行此程序」
    • 打开Visual Studio后,依次进入「工具」->「选项」->「项目和解决方案」->「SSIS」,确认「默认64位运行时」设置为False
  3. 手动配置连接字符串的扩展属性
    编辑Excel连接管理器的连接字符串,针对不同格式补充正确参数:

    • .xls格式:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourPath\File.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1;"
    • .xlsx格式:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourPath\File.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1;"
      其中HDR=YES表示第一行是表头,IMEX=1强制混合数据类型按文本读取,避免格式冲突
  4. 释放Excel文件占用
    打开任务管理器,结束所有EXCEL.EXE进程,避免文件被占用导致连接失败

  5. 验证ACE驱动有效性
    编写简单控制台程序测试驱动是否正常工作:

    using System.Data.OleDb;
    class Program
    {
        static void Main()
        {
            string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourPath\File.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;""";
            using (OleDbConnection conn = new OleDbConnection(connectionString))
            {
                try
                {
                    conn.Open();
                    Console.WriteLine("连接成功");
                    OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
                    OleDbDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Console.WriteLine(reader[0].ToString());
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("连接失败:" + ex.Message);
                }
            }
        }
    }
    

    如果程序能正常运行,说明驱动本身没问题,问题出在SSIS配置环节

  6. 修复Visual Studio安装
    打开Visual Studio Installer,选择「修改」->「修复」,修复SSIS相关组件,避免组件损坏导致连接异常

内容的提问来源于stack exchange,提问作者Bich Le The

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 04:52:21