0

我真的不确定这是否是正确的论坛,如果我应该将其瞄准其他地方,我深表歉意。

我已经(作为一个非常愚蠢的实验 IMO)在工作中获得了一台 Windows 7 x64 机器。如果我不需要完成任何事情,这可能会很好。不幸的是,由于我们运行的是 SQL Server 2005,我需要 BIDS 2005 才能在服务器上编辑和发布现有的 SSIS 包。BIDS 2005 在 Windows 7 x64 上运行得不是很好,最小的烦恼是在不打开脚本的情况下完全无法编译脚本。

无论如何,我现在需要连接到 Oracle 数据源,以便从中导出结果,但无论我尝试什么,当我尝试在 BIDS 中连接时,都会遇到可怕的“协议适配器错误”。

我已经安装了完整的 Oracle 客户端的 32 位版本,并且可以通过 ODBC 和 SQL Developer 进行连接,但是当我尝试在 BIDS 中创建 OLE DB 连接时(使用 microsoft 或 Oracle 驱动程序),我得到的只是描述的错误。

我真的不喜欢 Oracle,所以我使用它还不够,甚至不知道如何开始解决这个问题,尽管我会说 SQL*Plus 有同样的问题,尽管能够对服务器进行 TNSPing。

有任何想法吗?我距离重新安装 Windows 或运行 32 位虚拟机并在那里进行所有开发仅一步之遥。

4

2 回答 2

1

听起来问题可能出在 Oracle 方面...但是如果您可以通过 ODBC 连接,您可以尝试使用 ADO.NET 数据源而不是 OleDb 源吗?

于 2010-11-23T09:45:41.310 回答
0

奇怪的是,它现在正在工作,我真的不知道为什么。让我们把这归结为甲骨文普遍被打破和奇怪,尽管有一些值得学习的东西:

  1. 每当您对 TNSNames.ora 进行更改时,都需要重新启动 BIDS。当您在连接字符串中提供完整的 TNS 连接时,情况似乎也是如此。
  2. 在 Windows 7 上,您必须以管理员身份运行 Oracle deinstall.bat。如果你不这样做,你最终会得到一个损坏的 Oracle 安装,几乎不可能干净地删除。
  3. 尽管能够使用 64 位 SSIS 运行时,BIDS 2005 不能使用 64 位 Oracle 驱动程序。
  4. If you like having a (relatively) clean dev system, do not install the Oracle client - it's possible to install the 32 and 64 bit drivers side but uninstalling them is non-trivial and not guaranteed to work (for example, I've actually ended up with the 32bit drivers installed on my machine now, but due to previous uninstallations the ODBC manager can't see the Oracle drivers)

I think next time I'll just do my development in a disposable virtual machine.

于 2010-11-25T08:49:00.773 回答