【发布时间】:2012-12-25 13:14:35
【问题描述】:
我有一台新的开发机器,我需要支持旧的 SSIS 包。新机器是 Windows 8 64 位,带有 SSD 主驱动器 (C:) 和用于数据的常规 HDD (D:)。在它上面,我安装了 BIDS 2008 R2(以及让它与 TFS2010 一起工作的所有技巧),以及 VS2010、ODAC 32 位和 64 位(我认为??)、Oracle 客户端(SQLDeveloper)。
我可以通过以下方式很好地连接到 Oracle 数据库:
- VS2010 与 MSDAORA
- 带有 ODAC 的 VS2010
- VS2010 与 ADO.NET
- 使用 .udl 文件与 Oracle OLE DB 提供程序测试连接(MS 提供程序未在此处显示为选项)
- SQLDeveloper(Oracle 的客户端工具)
我似乎无法使用任何方法(MSDAORA、ADO.NET、ODAC)让 BIDS 2008 R2 连接到 Oracle。
问题似乎与我的机器无关,否则我可以在其他机器上打开、查看、验证、连接和运行这些包而没有问题。
我尝试了以下方法:
- 确保任何/所有 TNSNAMES 文件正确且相同(从其他机器获取工作副本,别忘了,这在 VS2010 中运行良好)
- 创建了 ORACLE_HOME 和 TNS_ADMIN 环境变量并将它们指向 D:\app\username\product\11.2.0 中的各个目录
- 手动检查注册表以确保除了 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 中的条目之外没有其他对 ORACLE 的引用
- 未安装/重新安装的 SQL Server 2008 R2 组件
- 在我尝试过的每次搜索中,每个线程都提供了每个“解决方案”
- 向异教神灵投掷鸡骨头和祭品
每次尝试修复后,尝试在数据流中预览 SQL 命令时仍会收到以下错误:
OLE DB 记录可用。来源:“Microsoft OLE DB Provider for Oracle”Hresult:0x80004005 描述:“尝试检索错误 ORA-01019 的文本时出错”
是的,我知道我需要放弃 MSDAORA 以支持 ODAC,如果 ODAC 在 BIDS 2008 R2 中工作,我肯定会这样做。但是,我在那里无法连接到 Oracle(尽管如上所述,它在其他各种工具中都可以正常连接)
我在 D:\app\username\product\11.2.0 中有两个“client_n”目录。如前所述,我尝试将环境变量指向内部的各种路径。 ORACLE_HOME 的正确路径似乎应该只是 D:\app\username\product\11.2.0,对吗?
在安装了 VS2010 的 WINDOWS 8 上,有没有人幸运地让 BIDS 2008 R2 连接到 Oracle?在我看来,这是一个简单的 Oracle 连接问题,我只是对 Oracle 了解不足,无法进行故障排除。
还有其他想法可以尝试吗?
【问题讨论】:
-
你能在命令提示符下对服务器进行 TNSPING 吗?
-
我得到“不是一个公认的命令”。所以我将 D:\app\username\product\11.2.0\client_1 (and _2)\bin 添加到 PATH 变量中,没有骰子。然后我在两个驱动器上搜索“tnsping”,仍然没有骰子。
-
真的吗?多么奇怪。我不能对此发誓,但在我看来,甲骨文安装不正确。它通常也安装在 C:\Oracle 而不是 app\username 下。我建议您删除任何您认为已安装的客户端,从 Oracle 重新下载并重新安装。
-
感谢 Ciaran... 我即将决定擦拭机器并重新安装。我会先试试这个,但是,看看它能给我带来什么。
-
最后的评论,Oracle OLEDB Provider 默认没有安装。确保在运行安装时选择它。祝你好运!
标签: oracle windows-8 ssis bids odac