您的位置:首页 > 数据库 > Oracle

如何用SQLserver链接服务器到Oracle?

2012-06-26 11:15 302 查看
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

更多http://www.cnblogs.com/phpmisishtml/

数据库链接创建完毕后,可以尝试查询:

这里的TESTLINKTEST.TEST_MAIN。

第一个TESTLINK是数据库链接名

第二个TEST 是Oracle 那里的Test 用户的方案名

TEST_MAIN 是Test 用户下的一个表。

1> select * from TESTLINKTEST.TEST_MAIN;

2> go

ID VALUE

--------------------------------------------------

1 ONE

2 TWO

3 TWO

(3 行受影响)

注:假如创建链接完毕后,执行查询的时候,提示MSDAORA 找不到Oracle 客户端的话。如果本机安装的是Oracle 9 / 10 。那么有可能是权限的问题,需要额外在操作系统那里设置一下。

以本机为例子:

需要选择E:oracleproduct10.2.0client_1这个目录。

鼠标右键,弹出菜单中,选择“属性”。

然后在“安全”选项中,增加一个EveryOne 用户。并设置完全控制。

然后重新启动计算机。

重新启动完毕后,应该就正常了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: