日期:2014-05-18  浏览次数:20572 次

SSIS包中连接Oracle出错
Provider使用 Oracle Provider for OLEDB,填写完服务器、用户名密码,点击测试,提示:Test connection failed because of an error in initialzing provider。在初始化provider的时候出错。请问有谁遇到过这个问题吗?

------解决方案--------------------
在SQL SERVER 20000中访问Oracle数据库服务器的几种方法 

1.通过行集函数opendatasource
要求:本地安装Oracle客户端
select * from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR Oracle的驱动,

注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
例如:
select top 10 * from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER

本地Oracle客户端配置文件中内容如下:
HZTEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)

2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
order by A.ID
使用这种方式一定要用别名才行

3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源

4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver', --链接服务器名称
@srvproduct='Oracle', --固定
@provider='MSDAORA', --固定
@datasrc='XST4' --Oracle本地服务名


该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285
------解决方案--------------------
是不是你的系统的提供ORACLE的DLL文件有问题啊。我之前连mysql的时候也出现这种错误。
------解决方案--------------------
检查oracle客户端正确安装了吗?
什么版本,机器是64bit吗?
------解决方案--------------------
帮顶。

64位的暂时放放。
------解决方案--------------------
应该是版本问题