驱动程序使用SSIS中的MS OLE驱动程序连接到Oracle 11g的问题

时间:2014-04-26 17:23:58

标签: windows-7 ssis oracle11g driver

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

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

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

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驱动程序。我讨厌下载更多我需要的驱动程序,因为它们下载量很大,而我的公司可能宁愿我不是一个特立独行的下载程序,但如果我知道我需要什么而不是试用和下载错误,那么它就会出现问题。完成。

当我在启动时看到我的电脑 - >所有程序时,我看到以下菜单文件夹:

Oracle - OraClient11g_home1
Oracle - OraClient11g_home1_32but

我的PC上没有管理员权限,但我确实拥有更高的权限。当我在32位文件夹下运行Net Configuration Assistant时,我测试连接,它工作正常。当我尝试运行64位版本时,什么都没有出现。

我的PC上似乎只有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;

1 个答案:

答案 0 :(得分:0)

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

我倾向于只安装32位版本并强制软件包以32位模式运行,以避免浪费时间在setup,config&修补每个开发人员机器和服务器,并避免版本之间的模糊问题。

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