我创建了一个SSIS包,只需要在运行时更改5个变量,我在下面提供了示例
我一直在尝试使用excel来导出一个可用的.dtsConfig文件,这样我就可以将用户的invovlement保持在最低限度。
我的梦想是,我可以让用户在Excel中选择一些选项然后点击并忘记。
我已经构建了一个XML模式,并且似乎能够生成一个xml文件,该文件看起来与我在SSIS中使用配置向导时产生的完全匹配
但是,每当我执行包时,在SSIS或独立中枯萎,我都会
Warning: Failure importing configuration file: "C:\ICA.dtsConfig".
当我在IE中打开配置时,它显示正常,所以我没有把xml弄碎。
有什么建议吗?
答案 0 :(得分:0)
我不知道你的流程出了什么问题,但是我有几个要检查的东西以及可能为你服务的另一种选择"足够接近"
首先测试:
检查已创建文件的权限和所有权。如果您的工作配置和您的失败"修改" config不具有相同的所有权和权限,请尝试更改已修改的版本以匹配工作版本。
创建您的"已修改"配置文件使用与工作值相同的值。这个有用吗?比较文件,你能看到有什么区别吗?可能是大写差异,还是XML文档属性?
如果文件看起来相同,请在十六进制编辑器中查看它们,是否有任何不同的空格字符?也许行终止字符?
现在替代方案:
几乎所有SSIS属性都可以选择从变量而不是特定值设置属性。您可以从平面文件或表中读取变量,然后从变量中设置属性。例如,FTP任务有一个" IsLocalPathVariable"如果将其设置为true,它将读取您设置为变量的路径。有时设置它的方法是使用"编辑功能"属性上的按钮(例如,数据集中的查询),您可以在设置属性的函数中使用该变量。你经常要设置'#34;合理的"您以这种方式设置的属性的默认值和/或延迟验证。
它确实比使用配置系统更多的工作,但它确实有效。我从这种方法的一个版本驱动我的大多数软件包(尽管它更复杂。事实上,复杂的,我有一个模板来处理加载配置值,所以我不必重新 - 用每个包编码。)
编辑:
再想一想!一个配置选项是从数据库中读取它们,Excel可以更新数据库中的值。我不知道安全隐患是否会使这个问题无法解决(可能需要保护安全,或者如果固有的安全性阻止Excel写入该特定数据库),但是如果测试没有指向解决方案和上面的替代方案看起来太多了,让Excel更新配置数据库(可能通过存储过程)可能更适合。