如何让我的SSIS表达式生效?动态OLE DB数据源配置报错求助
动态OLE DB Excel连接表达式报错修正
问题描述
尝试将OLE DB数据源设置为动态变量时持续报错,原连接表达式如下:
"Data Source=" + @[User::varFileName] + ";Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="Excel 12.0;HDR=NO;";
评估表达式时收到错误:
表达式无法评估。
附加信息:
尝试解析表达式 ""Data Source=" + @[User::varFileName] + ";Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="Excel 12.0;HDR=NO;";"" 失败。表达式可能包含无效标记、不完整标记或无效元素。格式可能不正确,或者可能缺少所需元素(如括号)的一部分。
(Microsoft.DataTransformationServices.Controls)
修正方案
错误根源是Extended Properties段的双引号未正确转义,在SSIS表达式规则中,字符串内部的双引号必须用两个连续双引号""来转义。修正后的完整表达式如下:
"Data Source=" + @[User::varFileName] + ";Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0;HDR=NO;"";"
核心修正点
- 把原表达式中
Extended Properties="Excel 12.0;HDR=NO;"改为Extended Properties=""Excel 12.0;HDR=NO;"",通过双引号转义内部的引号 - 确认整个表达式首尾引号闭合,末尾的分号与引号位置正确
内容的提问来源于stack exchange,提问作者DataRookie
相关产品推荐
相关产品推荐

