SSIS Excel连接pipe理器expression式

我使用SSISvariables为文件夹path和文件名设置了Excel连接,其中包含属性ConnectionString和ExcelFilePath的expression式。

ConnectionString =“Provider = Microsoft.Jet.OLEDB.4.0; Data Source =”+ @ [User :: parmSourcePathUNC] + @ [User :: varSourceFileName] +“; Extended Properties =”+“\”“+”EXCEL 8.0; HDR = YES“+”\“”+“;”

ExcelFilePath = @ [User :: parmSourcePathUNC] + @ [User :: varSourceFileName]

如果文件存在,这是好的,但我使用存储过程来确定具有date后缀的文件名的最新名称。 如果我通过单个字符更改文件的名称(以模拟第二天的到来),则包无法通过以下错误进行validation:

错误:“组件”Excel源“(14)”未通过validation并返回validation状态“VS_ISBROKEN”。

新的文件名是通过在从Excel载入之前调用Sproc来设置的,所以这应该是可能的,但是我没有看到(例如)推迟validation。 在此先感谢您的帮助。

听起来你正在寻找DelayValidation参数。 您应该为Excel连接pipe理器对象为true。

https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.connectionmanager.delayvalidation.aspx