SQLserver链接服务器到Oracle

时间:2012-02-17
简介:数据库|SQLServer2005Express访问Oracle10  EXECmaster.dbo.sp_addlinkedserver  @server=N'TESTLINK',  @srvproduct...
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:\oracle\product\10.2.0\client_1\NETWORK\ADMIN

  目录下。

  内容为:

  # tnsnames.ora Network Configuration File:E:\oracle\product\10.2.0\client_1\network\admin\tnsnames.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:\oracle\product\10.2.0\client_1这个目录。

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

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

  然后重新启动计算机。

  重新启动完毕后,应该就正常了。

SQLserver链接服务器到Oracle

TAGS:SQLserver链接服务器到Oracle

上一编:Oracle数据泵导出导入与传统导出导入的区别

下一编:ORACLE安装经验借鉴

NewHot手机版