您好,欢迎访问一九零五行业门户网

SQLserver链接服务器到Oracle

sql server 2005 express 访问 oracle 10 exec master.dbo.sp_addlinkedserver @server = n'testlink', @srvproduct=n'oracle', @provider=n'msdaora', @datasrc=n'test' go 这一句在 sqlserver 下创建一个数据库链接。 连接名为testlink oracle 数据源是 te
sql server 2005 express 访问 oracle 10
exec master.dbo.sp_addlinkedserver
@server = n'testlink',
@srvproduct=n'oracle',
@provider=n'msdaora',
@datasrc=n'test'
go
这一句在 sqlserver 下创建一个数据库链接。
连接名为testlink
oracle 数据源是 test
要求在sql server 的机器上面,安装有oracle 的客户端。
那个oracle 数据源,配置文件在
e:oracleproduct10.2.0client_1networkadmin
目录下。
内容为:
# tnsnames.ora network configuration file:e:oracleproduct10.2.0client_1networkadmintnsnames.ora
# generated by oracle configuration tools.
test =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.1.210)(port = 1521))
)
(connect_data =
(service_name = orcl)
)
)
注: 本机只安装了 sql server express 与 oracle 10 的客户端。
oralce 10 服务器安装在 另外一台机器上。
exec
master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = n'test',
@locallogin = null ,
@useself = n'false',
@rmtuser = n'test',
@rmtpassword = n'test123'
go
这一句是设置默认用什么用户名/密码来访问oracle 数据库。
上面的例子是用户名为test 密码为 test123
数据库链接创建完毕后,,可以尝试查询:
这里的testlink..test.test_main。
第一个testlink是数据库链接名
第二个test 是oracle 那里的test 用户的方案名
test_main 是test 用户下的一个表。
1> select * from testlink..test.test_main;
2> go
id value
--------------------------------------------------
1 one
2 two
3 two
(3 行受影响)
注:假如创建链接完毕后,执行查询的时候,提示msdaora 找不到oracle 客户端的话。如果本机安装的是oracle 9 / 10 。那么有可能是权限的问题,需要额外在操作系统那里设置一下。
以本机为例子:
需要选择e:oracleproduct10.2.0client_1这个目录。
鼠标右键,弹出菜单中,选择“属性”。
然后在“安全”选项中,增加一个everyone 用户。并设置完全控制。
然后重新启动计算机。
重新启动完毕后,应该就正常了。
其它类似信息

推荐信息