技术开发 频道

在SSIS中,使用“包配置”时的常见错误与解析


【IT168技术文档】

  在以前的DTS中,在包的开发、测试、发布迁移过程中你必须手动的修改包中的所有连接参数及其变量的值,幸运的是,现在在SSIS中提供了这种问题的解决方案,那就是“包配置”

  包配置是一个动态改变你的SSIS对象和连接属性的一种机制,它把这些动态可以改变的信息保存在包的外部,在需要修改的时候,可以灵活地加以配置,再也不用进入到包的开发环境中去进行修改、编译、发布。
  总共有下面几种方法存储这些值并将其传送到包中:

  XML文件
 
  环境变量

  注册表键值

  父包变量

  但是在使用包配置的过程中,还不是一帆风顺的,有挫折、有苦恼,有郁闷,幸好,最后都统统化为了成功和喜悦,下面就请大家与我一起来分享我的挫折和喜悦:

  一、数据库连接在包中配置完成后,但包却不能成功运行:
 
  选择[SSIS菜单]-->[包配置]-->[启用包配置]-->[添加]-->选择[XML文件]-->[下一步],选择以下属性:

  ConnectionString

  InitialCatalog,

  Name

  Password

  ServerName

  UserName

  如图:

  一切都按缺省设置,至最后完成。点击[运行],出现如图所示错误:

  解决:从windows 资源管理器中,找到配置文件(*.dtsconfig),原来是配置文件中的用户密码丢失了,手工补上,


  [保存]―>[运行],一切OK。

  分析:为什么配置了ConnectionString 属性,还要配置UserName、Password呢,左思右想,不得其解,再试着修改一下ConnectionString属性(故意改错),

  再[运行],还是能成功运行,这就有点怪了,难道ConnectionString属性没有什么用?带着这个疑问,我将下面的InitialCatalog,、Name、Password、ServerName、Us

  erName 全部删除,只剩下ConnectionString 属性,又当如何,意外发生了,竟然成功了,后来查了一些资料,也没有得到准备的答案,个人猜想,如果Connecti

  onString、InitialCatalog,、Name、Password、ServerName、UserName这些属性同时存在时,则以InitialCatalog,、Name、Password、ServerName、UserName配置

  的属性优先,否则以ConnectionString属性为准。如果不对,请网友更正一下。
0
相关文章