萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> SQLserver鏈接服務器到Oracle

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 數據源是 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 用戶。並設置完全控制。

  然後重新啟動計算機。

  重新啟動完畢後,應該就正常了。

SQLserver鏈接服務器到Oracle 三聯

copyright © 萬盛學電腦網 all rights reserved