我有我想转入的SQL Server Express 2005的的Oracle 11g XE数据库。
起初,我以为我只是生成Oracle中的表作为SQL,操纵数据格式,并运行在SQL Server查询。 这个工作对小桌子,但我有几百几千行和一些与数百万行的几个表,因此该解决方案将无法工作。
然后,我创建了包含以下内容的TNS文件:
OracleTnsName =
(
DESCRIPTION=
(
ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1521)
)
(
CONNECT_DATA = (SERVICE_NAME=XE)
)
)
我跟着我发现如何生成ODBC连接其他地方的说明,和“测试连接”是成功的。
然后我跑以下命令来创建在MS SQL链接服务器:
EXEC sp_addlinkedserver
@server = 'OracleLinkServer'
,@srvproduct = 'OracleTnsName'
,@provider = 'MSDASQL'
,@datasrc = 'OracleTnsName'
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'OracleLinkServer'
,@useself = 'False'
,@locallogin = NULL
,@rmtuser = 'user'
,@rmtpassword = 'password'
现在,我想查询表从SQL Server使用Oracle数据库openquery
:
select * from openquery(OracleLinkServer, 'select * from oracleTable')
但得到一个错误:
消息7399,级别16,状态1,第1行
OLE DB提供程序“MSDASQL”链接服务器“OracleLinkServer”报告错误。 提供程序未给出有关错误的任何信息。
消息7303,级别16,状态1,第1行
无法初始化OLE DB提供程序“MSDASQL”链接服务器“OracleLinkServer”的数据源对象。
当我检查链接服务器的属性,只要按一下就OK了,我得到这个错误:
标题:Microsoft SQL Server管理Studio速成
“链接的服务器已经更新,但无法连接测试,你要编辑的链接服务器属性?”
附加信息:
执行Transact-SQL语句或批处理时出现异常。 (Microsoft.SqlServer.Express.ConnectionInfo)
OLE DB提供程序“MSDASQL”链接服务器“OracleLinkServer”报告错误。 提供程序未给出有关错误的任何信息。 无法初始化OLE DB提供程序“MSDASQL”链接服务器“OracleLinkServer”的数据源对象。 (微软SQL服务器,错误:7399)
如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.5000&EvtSrc=MSSQLServer&EvtID=7399&LinkId=20476
纽扣:
&是
&没有
请帮忙!
谢谢