64位环境下SSIS连接oracle问题收集

本文详细描述了在使用64位系统安装SQLServer时遇到的连接Oracle失败问题,包括错误原因分析、解决方法(如重装SQLServer并修改安装路径)以及后续可能遇到的其他问题。建议使用32位虚拟机运行以避免路径冲突。
1,TITLE: Connection Manager
------------------------------

Test connection failed because of an error in initializing provider. Error while trying to retrieve text for error ORA-12154

以上问题目前发现是Server Name 跟 TNS中的名字不匹配,修改为统一名称即可

2,TITLE: Connection Manager
------------------------------

Test connection failed because of an error in initializing provider. Error while trying to retrieve text for error ORA-06413

这个就比较悲剧了,浪费了我大量时间找原因。 主要因为64位系统装SQL Server,会产生一个 Program Files (x86),并且对应的SSIS会安装到这个文件夹,造成连接oracle报错, 据说是不识别这个路径中的括号,解决办法,重装SQL Server,要修改安装路径,比较麻烦,虽然这样会成功连接oracle,但后来还是遇到各种莫名其妙的问题, 我干脆使用32位的虚拟机来运行。。。
SSIS (SQL Server Integration Services) 连接 Oracle 数据库是一个常见的需求,在数据迁移、ETL操作等场景下非常有用。以下是通过 SSIS 连接Oracle 的步骤: ### 步骤一:安装Oracle 客户端 为了能够从 SQL Server 中访问 Oracle 数据源,首先需要在运行 SSIS 包的工作站上安装合适的版本的 Oracle Instant Client 或者完整的 Oracle Client。 #### 选择正确的客户端数 确保 Oracle 客户端与您的操作系统以及 Microsoft Visual Studio 和 SSDT 环境匹配(即都应为 x86 或 x64)。例如如果使用的是32的操作系统,则需下载相应的32版本;如果是64则下载对应的64版。 ### 步骤二:配置ODP.NET或Managed Data Provider 有两种主流的方式可以供 SSIS 使用来连接Oracle: 1. **ODP.NET** - 需要配合已安装好的本地 Oracle 客户端一起工作,并且必须与该客户端相兼容; 2. **Managed ODP.NET** - 不依赖于特定平台上的任何原生 Oracle 库文件,因此不需要额外安装 Oracle 客户端软件即可直接部署应用程序。 对于大多数新项目来说推荐采用 Managed 提供程序因为它更易于维护并且不受限于目标机器是否装有 Oracle client. ### 步骤三:创建新的 ADO.NET Connection Manager 回到Visual Studio 开发环境中打开你的 SSIS 解决方案: - 右键点击“Connection Managers”区域空白处 -> "New Connection..." - 搜索并添加 `ADO.Net` 类型的数据连接管理器 - 设置属性如下图所示填写 TNS 名称作为服务器名称的一部分或者完整地写出 Easy Connect 字符串形式如 `(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myoraclehost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myservicename)))` > 注意事项:如果您选择了非托管驱动程式的解决方案 (`Unmanaged`) ,那么请确认您已经正确设置了 Path 环境变量指向了 oracle instant client 所放置的置。 ### 示例连接字符串(适用于Managed Driver) ```sql Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = your-oracle-hostname)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = servicename)));User Id=username;Password=password; ``` 完成上述设置之后就可以开始设计任务流来进行 ETL 操作啦! ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值