【问题标题】:Driver Issues connecting to Oracle 11g using MS OLE driver from SSIS使用 SSIS 中的 MS OLE 驱动程序连接到 Oracle 11g 的驱动程序问题
【发布时间】:2014-04-28 15:04:19
【问题描述】:

我在尝试连接到 SSIS SQL Server 集成包中的 Oracle 数据库 11g 时遇到驱动程序问题。

在 SSIS 中,我使用 Native OLE DB\Microsoft OLE DB Provider for Oracle 创建了一个 OLE 数据库连接。当我测试连接时,结果是成功的,但是当我尝试从 OLE DB 源任务中引用此连接时遇到问题。

在 OLE DB 源任务中,我可以看到所有表,但是当我选择一个时,我收到以下错误:

Exception from HRESULT: 0xC02020E8
Error at Data Flow Task [OLE DB Source [1]]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80004005  Description: "Unspecified error".
An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80004005  Description: "Oracle error occurred, but error message could not be retrieved from Oracle.".
An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80004005  Description: "Data type is not supported."
Error at Data Flow Task [OLE DB Source [1]]: Opening a rowset for ""MySchema"."MyTable"" failed. Check that the object exists in the database.

我没有看到任何可供选择的 Oracle OLE 驱动程序。我考虑从这里下载一个(ODAC101040.exe (174MB)):

http://www.oracle.com/technetwork/database/windows/utilsoft-088126.html

但下载量非常大,我的 PC 上已经安装了 2 个非常大的 Oracle 驱动程序。我不想下载更多我需要的驱动程序,因为它们的下载量很大,而且我的公司可能不希望我成为一个特立独行的下载者,但如果我知道我需要什么而不是反复尝试下载,它就会完成。

当我在 PC 上的 Startup->All Programs 下查看时,我看到以下菜单文件夹:

Oracle - OraClient11g_home1
Oracle - OraClient11g_home1_32but

我在我的 PC 上没有管理员权限,但我拥有提升的权限。当我在 32 位文件夹下运行网络配置助手时,我测试了连接,它工作正常。当我尝试运行 64 位版本时,什么也没有出现。

我的电脑上似乎只有 1 个 TNS 文件,

c:\windows\tnsnames.ora

此文件最初是手动编辑的。我怀疑它与我的 32 位驱动程序有关。我希望在这两个文件夹下找到我的 TNS 文件,但没有找到:

C:\Oracle\product\11203_32bit\CLIENT_1\NETWORK\ADMIN\
C:\Oracle\product\11203_62bit\CLIENT_1\NETWORK\ADMIN\

这是我尝试连接的 Oracle 数据库版本:

1              Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
2              PL/SQL Release 11.2.0.3.0 - Production
3              CORE     11.2.0.3.0             Production
4              TNS for Linux: Version 11.2.0.3.0 - Production
5              NLSRTL Version 11.2.0.3.0 - Production

我应该安装什么驱动程序才能使我的 SSIS 包工作?我更喜欢下载兼容的(更新的?)MS OLE 驱动程序,但愿意安装其他驱动程序。

添加信息:

我的连接字符串:

Data Source=MyDb.MyCompany.COM;User ID=MyEffinId;Provider=MSDAORA.1;Persist Security Info=True;

【问题讨论】:

  • 我以为我这样做了,也许我不清楚或者您不熟悉“拖放”SSIS 包:-):我创建了一个 OLE 源对象并将连接属性设置为工作的 Oracle 连接对象。单击表下拉列表并选择我想从中提取数据的表。当我这样做时,我得到了那个错误。
  • 我添加了连接字符串,如果有帮助的话

标签: windows-7 ssis oracle11g driver


【解决方案1】:

我更喜欢 Attunity,然后是 Oracle,然后是 Microsoft 驱动程序,按这个顺序。 Attunity 需要 SQL Server 企业版。

我倾向于只安装 32 位版本并强制软件包以 32 位模式运行,以避免在每台开发人员机器和服务器上浪费时间进行设置、配置和修补,同时也避免版本之间的晦涩问题.

Microsoft 驱动程序似乎是调用 Oracle 存储过程和传递参数的最佳驱动程序。

【讨论】:

  • 我没有看到 Oracle 驱动程序。这是我遇到的另一个问题。我很想下载 ODTwithODAC112030.zip 并安装 Visual Studio 工具,但恐怕我最终会得到另一个 ORA 主页。 stackoverflow.com/questions/23331209/…
猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 2015-01-22
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 2011-04-04
  • 2016-06-30
相关资源
最近更新 更多