| 我的機(jī)器上安裝了oracle服務(wù)端(oracle 9i),機(jī)器名為:huanghua,另外一臺(tái)機(jī)器上安裝了sybase的服務(wù)器端(sbyase12.5),ip地址為:192.168.0.111,sybase端口號(hào):5000,我想在oracle中直接建立dblink訪問(wèn)sybase中的數(shù)據(jù),以下是我測(cè)試的步驟; 1、 安裝sybase client端;l 2、 在dsEdit中添加服務(wù),服務(wù)名為:sybase,使用tcp連接,端口號(hào):5000;
 
  測(cè)試連接成功;
 3、 在控制面板\管理工具中打開(kāi)“數(shù)據(jù)源(ODBC)”,選擇“系統(tǒng)DSN”,注意這里不能選擇“用戶DSN”,點(diǎn)擊“添加”按鈕,選擇“Sybase system”,點(diǎn)擊“完成”,在general頁(yè)上輸入“odbc 的別名”,sybase的服務(wù)名和數(shù)據(jù)庫(kù)的名稱;ds的name設(shè)為hsodbc,請(qǐng)一定要用這個(gè)名字,不要問(wèn)為什么,這么用就行了;
 
 4、 在oracle的安裝目錄下找到 hs\admin\目錄,打開(kāi)inithsodbc.ora文件,一般oracle9i中都有這個(gè)文件,設(shè)置參數(shù):# This is a sample agent init file that contains the HS parameters that are
 # needed for an ODBC Agent.
 
 #
 # HS init parameters
 #
 HS_FDS_CONNECT_INFO = hsodbc
 HS_FDS_TRACE_LEVEL = 0
 #
 # Environment variables required for the non-Oracle system
 #
 #set <envvar>=<value>
 以上是文件的內(nèi)容,其中hsodbc就是odbc連接sybase的別名;
 5、 在oracle的安裝目錄下找到 network\admin \目錄,打開(kāi)listener.ora文件,在文件中添加
 SID_LIST_LISTENER =
 (SID_LIST =
 (SID_DESC =
 (SID_NAME = PLSExtProc)
 (ORACLE_HOME = E:\oracle\ora92)
 (PROGRAM = extproc)
 )
 (SID_DESC =
 (GLOBAL_DBNAME = myserver)
 (ORACLE_HOME = E:\oracle\ora92)
 (SID_NAME = myserver)
 )
 (SID_DESC =
 (SID_NAME = hsodbc)
 (ORACLE_HOME = E:\oracle\ora92)
 (PROGRAM = hsodbc)
 )
 )
 其中紅色的為你所添加的內(nèi)容,SID_NAME和PROGRAM都設(shè)為hsodbc;
 6、 打開(kāi)tnsnames.ora文件在其中添加:hsodbc  =
 (DESCRIPTION =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = huanghua)(PORT = 1521))
 )
 (CONNECT_DATA = (SID = hsodbc))
 (HS= OK)
 )
 )
 其中huanghua是我的機(jī)器名;注意以上的=號(hào)后面的名稱前要留下一個(gè)空格,這個(gè)我也不知道是什么原因;
 7、 這里重啟動(dòng)一下你的機(jī)器;有資料說(shuō)重啟動(dòng)一下oracle監(jiān)聽(tīng)器;8、 啟動(dòng)oracle和監(jiān)聽(tīng)器;
 9、 創(chuàng)建dblink,注意用戶名和密碼一定要加上”,因?yàn)閛racle是不分大小寫(xiě)的,所有的小寫(xiě)都會(huì)轉(zhuǎn)成大寫(xiě),而sybase是區(qū)分大小寫(xiě)的;
 create database link HSODBC
 connect to “sa” identified by “sybase”
 using 'hsodbc';
 10、 執(zhí)行查詢語(yǔ)句 :select * from “ts”@hsodbc;這里表名和字段如果是小寫(xiě)的也要加上“;
 
 |