EzExcelCM连接字符串正确格式咨询及示例需求
EzAPI连接Excel源的正确连接字符串示例及问题排查
EzAPI的EzExcelCM连接管理器不能直接使用文件路径作为连接字符串,必须遵循OLE DB/ACE驱动的标准格式,以下是具体示例和排查要点:
正确连接字符串示例
根据Excel文件版本选择对应格式:
Excel 2007+ (.xlsx/.xlsm)
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\YourFolder\YourFile.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;"
Excel 97-2003 (.xls)
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\YourFolder\YourFile.xls;Extended Properties="Excel 8.0;HDR=YES;"
HDR=YES:表示第一行是列标题;若第一行是数据,改为HDR=NO- 注意
Extended Properties部分的引号嵌套:在代码中使用时,需对双引号转义(如C#中写为\"Excel 12.0 Xml;HDR=YES;\")
EzAPI代码使用示例
// 在SSIS包中初始化Excel连接管理器 EzExcelCM excelConn = new EzExcelCM(yourEzPackage); // 设置正确的连接字符串 excelConn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Test\SalesData.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;"""; // 验证连接有效性 if (!excelConn.Validate()) { throw new InvalidOperationException($"连接失败:{excelConn.ValidationStatus}"); } // 后续创建Excel数据源并关联此连接管理器 EzExcelSource excelSource = new EzExcelSource(yourEzDataFlowTask, excelConn); excelSource.AccessMode = AccessMode.OpenRowset; excelSource.OpenRowset = "Sheet1$"; // 指定要读取的工作表
常见问题排查
- 驱动未安装:64位环境需安装对应版本的Microsoft ACE驱动(若已装32位Office,需以32位模式运行SSIS包)
- 路径错误:确保使用绝对路径,文件存在且程序有读取权限
- 格式错误:检查
Provider版本与Excel文件格式匹配,Extended Properties的参数拼写正确 - 类型错误根源:连接字符串格式不正确会导致连接管理器无法解析元数据,进而引发后续数据流的类型映射错误,优先验证连接字符串的有效性
内容的提问来源于stack exchange,提问作者RobertMatteson91709
相关产品推荐
相关产品推荐

