将 Oracle 连接到 SQL Server
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4833409/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Connect Oracle to SQL Server
提问by Naveen Chakravarthy
I am trying to connect Oracle 9i database using SQL Management studio 2008.
我正在尝试使用 SQL Management Studio 2008 连接 Oracle 9i 数据库。
I tried this but it doesn't work
我试过这个,但它不起作用
EXEC sp_addlinkedserver 'OracleLinkedServer','Oracle','OraOLEDB.Oracle','TestDB';
EXEC sp_addlinkedsrvlogin 'OracleLinkedServer','false','SA','TestUsername','TestPassword';
I am able to create the linked server and it test correctly,
我能够创建链接服务器并正确测试,
But when I execute this statement:
但是当我执行这个语句时:
SELECT sysdate FROM OracleLinkedServer...dual;
...it gives an error:
...它给出了一个错误:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "OraOLEDB.Oracle" for linked server "OracleLinkedServer" reported an error. Provider caused a server fault in an external process.Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES" for OLE DB provider "OraOLEDB.Oracle" for linked server "OracleLinkedServer". The provider supports the interface, but returns a failure code when it is used.
消息 7399,级别 16,状态 1,第 1 行
链接服务器“OracleLinkedServer”的 OLE DB 提供程序“OraOLEDB.Oracle”报告错误。提供程序在外部进程中导致服务器故障。消息 7311,级别 16,状态 2,第 1
行无法获取链接服务器“OracleLinkedServer”的 OLE DB 提供程序“OraOLEDB.Oracle”的架构行集“DBSCHEMA_TABLES”。提供者支持该接口,但在使用时返回失败代码。
回答by vaheeds
You should UNCHECKED the Allow inprocess
in OraOLEDB.Oracle provider under the Linked Servers node.
您应该取消Allow inprocess
选中链接服务器节点下的 OraOLEDB.Oracle 提供程序。