虽然oracle客户端已经配置,不过需要重启sql server服务器才能正确响应oracle客户端配置
远程登录用户名密码错误
我觉得最简单的方式是建立连接服务器。
此功能的实现需要在SQL SERVER服务器上安装ORACLE客户端,以连接ORACLE服务器。因而在此设置中ORACLE服务器不需要了。
(1)、 安装ORACLE数据库服务器和SQL SERVER数据库服务器(包括操作系统和数据库软件);
(2)、 在SQL SERVER服务器中安装ORACLE客户端;
在此需要说明的是SQL SERVER的文档中说安装ORACLE客户端就可以,但是在实际安装中客户端需要运行的几个ORACLE客户端注册表文件老是不能安装上,所以我选择的是安装服务器端,各位可以自己测试安装ORACLE客户 端。
需要的几个注册表文件存在于C:/Program Files/Common Files/System Files/OLE DB 中,如果ORACLE安装完后此目录中没有mtxoci81_win2k.reg文件,此功能将不能成功实现。
(3)、 打开SQL SERVER查询分析器并登陆;
(4)、 在编辑窗口运行下列SQL语句,执行 sp_addlinkedserver 创建链接服务器;
exec sp_addlinkedserver
'urp_server', /* 建立的链接服务器名 */
'oracle', /* 固定 */
'msdaora', /* 固定 */
'urp' /* ORACLE实例别名 */
(5)、 在编辑窗口运行下列SQL语句,使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射;
exec sp_addlinkedsrvlogin
'urp_server', /* 已建立的链接服务器名 */
false, /* 固定 */
null, /*为每个登陆SQL SERVER的用户使用此链接服务器,否则写用户名 */
'THNSV2', / * ORACLE用户名 */
'THNSV2_456' /*ORACLE用户密码 */
如此则在SQL SERVER中就可以访问ORACLE的数据了。
建立的链接服务器可以在企业管理器中看见.
(6)、SQL SERVER中访问ORACLE数据
Select * from urp_serever..THNSV2.TABLE
说明:数据库的格式必须是链接服务器名..ORACLE用户名.表名.
源文档 <http://cache.baidu.com/c?word=sql%2Creturned%2C0x80004005&url=http%3A//www%2Eoracle%2Ecom%2Ecn/thread%2D79650%2D1%2D1%2Ehtml&p=876fc64ad5c95bfa08e295757f4f88&user=baidu>