首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

SQL Server 2005 Express 配置链接服务器访问 Oracle 10g 完整指南

     編輯:Oracle 資料庫基礎

前置条件

  • SQL Server 机器已安装 Oracle 10g Client(含 tnsnames.ora 配置)。
  • Oracle 服务端监听器正常,网络互通。

步骤 1:创建链接服务器

EXEC master.dbo.sp_addlinkedserver
    @server = N'TESTLINK',      -- 链接服务器名称
    @srvproduct = N'Oracle',    -- 产品名
    @provider = N'MSDAORA',     -- OLE DB Provider for Oracle
    @datasrc = N'TEST';         -- tnsnames.ora 中的网络服务名
GO

步骤 2:配置 tnsnames.ora(Oracle Client 侧)

# E:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

步骤 3:设置默认登录凭据

EXEC master.dbo.sp_addlinkedsrvlogin
    @rmtsrvname = N'TESTLINK',
    @locallogin = NULL,         -- 所有本地登录均使用此远程凭据
    @useself = N'False',
    @rmtuser = N'test',         -- Oracle 用户名
    @rmtpassword = N'test123';  -- Oracle 密码
GO

步骤 4:测试查询

-- 四段式命名:链接服务器..Oracle Schema.表名
SELECT * FROM TESTLINK..TEST.TEST_MAIN;
-- 结果示例
ID  VALUE
--- -----
1   ONE
2   TWO
3   THREE

常见问题:MSDAORA 找不到 Oracle Client

现象:查询报错「无法初始化数据源对象」。原因:Oracle Client 安装目录权限不足,SQL Server 服务账户无法读取 DLL。

解决方法

  1. 右键 Oracle Client 根目录(如 E:\Oracle\product\10.2.0\client_1)→「属性」→「安全」。
  2. 添加「Everyone」用户,授予「完全控制」权限。
  3. 重启 Windows 服务器。
Oracle Client 目录权限设置

Oracle Client 目录权限设置示意

提示:生产环境建议创建专用低权限域账户运行 SQL Server 服务,并仅授予该账户 Oracle Client 目录的读取/执行权限,避免使用 Everyone。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved