oracle創建與mysql的dblink

1.先簡單介紹下環境

 

操作系統:windows 2008 R2 (64bits)

oracle數據庫:10gr2 10.2.0.3.0(32bits)

mysql數據庫:5.1 (32bits)

 

2.下載mysql的odbc驅動,我用的是mysql-connector-odbc-5.3.4-win32並安裝 

注意:一定要32bits,oracle因爲是32bits的所有該使用32bits,如實64bit請使用64bit

 

3.配置odbc數據源,在控制面板中配置就可以了,使用系統DSN(一定要使用),取名爲mysql

注:因爲我是在64bits系統,應該使用32bits的odbc文件,%windir%/SysWOW64/odbcad32.exe

 

4.在

 

%ORACLE_HOME%/hs/admin下建立initmysql.ora文件

 

輸入:

 

1

2

3

HS_FDS_CONNECT_INFO = mysql # mysql   是odbc的連接名

  

HS_FDS_TRACE_LEVEL = 0

  

 

 

5.在

 

%ORACLE_HOME%/network /ADMIN下修改

 

listener.ora

 

附加在:SID_LIST內容

 

1

2

3

4

5

6

7

8

(SID_DESC = (SID_NAME = mysql)    # mysql 是hs中跟initmysql.ora對應

  

    (ORACLE_HOME = 對應oracle目錄 )   

  

  (PROGRAM = hsodbc)    #10g使用的是hsodbc驅動

  

  )

  

 

6.修改tnsnames.ora

 

輸入:

 

複製代碼

mysql=    
 
(DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 數據庫的機器 即 odbc的機器 )(PORT = 1521))       
 
     (CONNECT_DATA =             (SID=mysql)             )          
 
 (HS =ok)     )

複製代碼

 

 

 

7.創建dblink

 

create public database link mysqllink
 
  connect to “scott”
 
  identified by"tiger"   using 'mysql';

 

 

 

 

 

8.訪問mysql庫中的表user,注意大小寫。

 

select"username"from  "user"@mysqllink

 

 

 

 

經測試均成功執行。

 

因爲使用dblink,每次操作時,都需要commit或者rollback,不然會話放久的話,就會出現ora錯誤會話被終止。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章