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

简介:
在以前的 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 属性为准。如果不对,请网友更正一下。


  二、连接oracle 数据库出现的问题:
当配置文件中有 Oracle  数据库的连接配置时,按照上面的方法,配置了 ConnectionString InitialCatalog, Name Password ServerName UserName 这些属

性,
[ 运行 ],Error    可能是连接不正确,或者你没有访问该连接的适当权限 ,难道上面的结论有误?删除 ConnectionString  属性,仅剩下 InitialCatalog, 、   

Name
Password ServerName UserName 这几个属性时, [ 运行 ] ,还是出错,这就怪了,再反过来,删除 InitialCatalog, Name Password ServerName 、   

UserName
属性,仅剩下 ConnectionString  属性, [ 运行 ] ,成功。
分析:在 [ 包配置 ] 的属性配置器上,没有驱动程序配置这一项,我们仅配置了 InitialCatalog, Name Password ServerName UserName 这几个属性, 

所以SSIS
不知道,是要连接 Sql server  还是 Oracle  ,缺省都是连接 SQL   Server  ,所以连接不正确,但是 ConnectionString  属性,却可以写入驱动程序,如图 :


 
三、SSIS包在开发环境下,[运行] 正常,但通过Job 任务,却运行出错?

   SSIS包在开发环境下,或者直接双击包文件(前提:启用包配置),如图:

 
[ 执行] 成功,但是通过 Sql Server  代理(job ) 来执行,如图


却不能成功,错误如下:



 
解决:去掉配置文件ConnectionString  属性的 Auto Translate=False;  就OK
分析:还没有找到原因,希望能和网友一起讨论。
总结:数据库连接字符串在SSIS 包中配置时,属性不能多,也不能少,仅ConnectionString  属性足已,修改容易,扩展好。
如图:




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/236193,如需转载请自行联系原作者

目录
相关文章
|
13天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
25 1
|
1月前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
38 0
|
1月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
407 4
|
2天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
2天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
7 0
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
|
8天前
|
域名解析 网络协议 Linux
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍
|
26天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
1月前
|
消息中间件 运维 监控
|
2月前
|
存储 Oracle Java
Java 包和 API 深度解析:组织代码,避免命名冲突
Java 中的包 用于将相关的类分组在一起。可以将其视为文件目录中的一个文件夹。我们使用包来避免名称冲突,并编写更易于维护的代码。 包分为两类: 内置包(来自 Java API 的包) 用户定义的包(创建自己的包)
309 2
|
2月前
|
域名解析 网络协议 应用服务中间件
云解析DNS问题之配置域名解析ip地址如何解决
DNS解析是指将人类可读的域名转换成机器可读的IP地址的过程,它是互联网访问中不可或缺的一环;本合集将介绍DNS解析的机制、类型和相关问题的解决策略,以确保域名解析的准确性和高效性。
48 1

推荐镜像

更多