Oracle 10g透明網(wǎng)關(guān)訪問(wèn)SQL Server 2000之創(chuàng)建DB Link
上次我們介紹了:Oracle 10g透明網(wǎng)關(guān)訪問(wèn)SQL Server 2000之配置監(jiān)聽,本文我們接著上次的介紹一下Oracle 10g透明網(wǎng)關(guān)訪問(wèn)SQL Server 2000之創(chuàng)建DB Link的過(guò)程,接下來(lái)就讓我們一起來(lái)了解一下吧!
七、配置tnsname.ora
D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN目錄下配置tnsnames.ora文件,如下:
- UFDATA_002_2009=
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS =
- (PROTOCOL = TCP)(HOST = 192.168.0.233)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SID=UFDATA_002_2009)
- )
- (HS = OK)
- )
留意HS=OK,這主要由于是用于Oracle server調(diào)用異構(gòu)服務(wù)器進(jìn)行處理必須的。
現(xiàn)在使用tnsping測(cè)試:
- C:\Documents and Settings\rocky>tnsping ufdata_002_2009 TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 05-6月 - 2009 08:16:30
- Copyright (c) 1997, 2005, Oracle. All rights reserved. 已使用的參數(shù)文件:
- D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet .ora 已使用 TNSNAMES 適配器來(lái)解析別名
- Attempting to contact
- (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
- (HOST = 192.168.0.233)(PORT = 1521)))
- (CONNECT_DATA = (SID=UFDATA_002_2009)) (HS = OK))
- OK (20 毫秒)
一切正常,由透明網(wǎng)關(guān)必須通過(guò)其它ORACLE庫(kù)進(jìn)行訪問(wèn)其它庫(kù)(dblink),該步驟可以省略,這里使用tnsping測(cè)試。
八、創(chuàng)建訪問(wèn)SQL SERVER訪問(wèn)賬號(hào)
由于使用DBLINK不能為空密碼,為了使用數(shù)據(jù)安全性,在192.168.0.233服務(wù)器創(chuàng)建一個(gè)登錄賬號(hào)為oracletosql,密碼為oracletosql,并設(shè)置權(quán)限訪問(wèn)UFDATA_002_2009數(shù)據(jù)庫(kù)權(quán)限。
九、Oralce 創(chuàng)建DBLINK
- create public database link UFDATA2009 connect to "oracletosql" identified by "oracletosql" using
- '(DESCRIPTION =
- (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.233)(PORT=1 521)) (CONNECT_DATA=(SID=UFDATA_002_2009)
- )
- (HS = ok))';
留意DESCRIPTION的HS與tnsname.ora中的HS=OK。
十、測(cè)試連接并使用SQL
SQL>Select * From DUAL@UFDATA2009; SQL> DUMMY ------ X 連接正常
由于ORACLE 數(shù)據(jù)庫(kù)采用PL-SQL而SQL SERVER采用T-SQL且異構(gòu)數(shù)據(jù)題目,即使用采用標(biāo)準(zhǔn)SQL仍可能無(wú)法正常訪問(wèn)。為了使用ORACLE 方便使用SQL SERVER的數(shù)據(jù)?!?/p>
現(xiàn)進(jìn)行以下構(gòu)建:建立表視圖,屏蔽@UFDATA2009 DBLINK連接,重要的是在PLSQL Developer可以使用智能感知功能。
- Create Or Replace View DJ_UFDATA_HR_SHOW
- As
- Select * from hr_v_HR31_show@UFDATA2009
- With Read Only;
構(gòu)建標(biāo)準(zhǔn)ORACLE訪問(wèn)視圖DJ_UFDATA_HR,在構(gòu)建DJ_UFDATA_HR視圖大部分使用智能感知形式得出字段,否則即使用寫的字段名和智能感知一樣也可能出錯(cuò)(無(wú)效字段或索引等等錯(cuò)誤信息),且必須使用AS 命別名為ORACLE方便訪問(wèn)。
- Create Or Replace View DJ_UFDATA_HR
- As
- select "HR"."cPsn_Num" As cPsn_Num,
- "HR"."cPsn_Name" As cPsn_Name,
- "HR"."cDept_Name" As cDept_Name,
- "HR"."cDept_num" As cDept_num,
- "HR"."cPsnProperty" As cPsnProperty
- from DJ_UFDATA_HR_SHOW "HR"
- With Read Only;
總結(jié):
在進(jìn)行配置透明網(wǎng)關(guān)訪問(wèn)SQL SERVER時(shí),整個(gè)過(guò)程的SID(DBLINK命名隨意)最好命名與SQL SERVER數(shù)據(jù)庫(kù)一致,如UFDATA_002_2009,否則很輕易出現(xiàn)以下錯(cuò)誤信息:
- ORA-: error diagnosed by Net8 when connecting to an agent
- Unable to retrieve text of NETWORK/NCR message
- ORA-02063: preceding 2 lines from UFDATA2009
另外在DBLINK訪問(wèn)用戶賬號(hào)最好使用小寫且使用""雙引號(hào),如" oracletosql" ,這樣可以SQL SERVER2000和SQL SERVER2005訪問(wèn),另外就是ORACLE 方便訪問(wèn)SQL SERVER的SQL程序。
關(guān)于Oracle 10g透明網(wǎng)關(guān)訪問(wèn)SQL Server 2000的配置過(guò)程至此已經(jīng)全部介紹完畢了,希望本次的介紹能夠?qū)δ兴斋@!
原文出處:http://blog.csdn.net/rockywu/archive/2009/06/04/42 .aspx。
【編輯推薦】
- Oracle 10g客戶端的安裝配置操作詳解
- Win7下安裝Oracle 10g常見錯(cuò)誤的解決方案
- Windows7下如何卸載64位的Oracle 10g數(shù)據(jù)庫(kù)
- Oracle 10g配置不正確造成的錯(cuò)誤分析及解決方案
- Oracle 10g Shrink Table和Shrink Space使用詳解






