由於專案開發的需求,需要通過oracle訪問mysql,必須配置「閘道器」,通過odbc實現
總結了一下從oracle訪問mysql的步驟:
1.先簡單介紹下環境
作業系統:windows xp
oracle:10.0.2.0.1
mysql:5.0
3.配置odbc資料來源,在控制面板中配置就可以了,使用系統dsn,取名為mysqltest
4.在e:/oracle/product/10.2.0/db_1/hs/admin下(e:/oracle/product/10.2.0/db_1為oracle_home的安裝目錄)建立initmysqltest.ora檔案
輸入:hs_fds_connect_info = mysqltest
hs_fds_trace_level = off
5.在e:/oracle/product/10.2.0/db_1/network/admin下修改
listener.ora
輸入:(sid_desc =
(sid_name = mysql)
(oracle_home = e:/oracle/product/10.2.0/db_1)
(program = hsodbc)
修改後的listener.ora如下:
sid_list_listener =
(sid_list =
(sid_desc =
(sid_name = pl***tproc)
(oracle_home = e:/oracle/product/10.2.0/db_1)
(program = extproc)
(sid_desc =
(sid_name = mysql)
(oracle_home = e:/oracle/product/10.2.0/db_1)
(program = hsodbc)
listener =
(description_list =
(description =
(address = (protocol = ipc)(key = extproc1))
(description =
(address = (protocol = tcp)(host = majy)(port = 1521))
(description =
(address = (protocol = tcp)(host = majy)(port = 1541))
6.修改tnsnames.ora
輸入:mysqltest =
(description =
(address = (protocol = tcp)(host = majy)(port = 1541))
(connect_data =
(sid=mysqltest)
(hs =ok)
7.建立dblink
create public database link mysqllink
connect to 「ws」 identified by 「ws」
using 『mysqltest』;
要注意使用者名稱和密碼處需要用雙引號,否則oracle所傳輸的都是大寫字母,可能無法登入進入mysql。
8.訪問mysql庫中的表user
select 「username」 from 「user」@mysqllink
由於mysql中的表名的大小寫敏感,因此需要在進行sql查詢時對錶名用雙引號擴起來
oracle建立與mysql的dblink
1.先簡單介紹下環境 作業系統 windows 2008 r2 64bits oracle資料庫 10gr2 10.2.0.3.0 32bits mysql資料庫 5.1 32bits 注意 一定要32bits,oracle因為是32bits的所有該使用32bits,如實64bit請使用64bit ...
oracle與mysql建立表時的區別
oracle建立表時,不支援在建表時同時增加字段注釋。故採用以下方式 建立表 create table predict data as id integer not null,uid varchar2 80 mid varchar2 80 time date content varchar2 300...
oracle 序列的建立與使用
學習了序列,一直沒怎麼有機會用過,做了個簡單的使用練習。在oracle中,可以使用序列自動生成乙個整數序列,主要用來自動為表中的資料型別的主鍵列提供有序的唯一值,這樣就可以避免在向表中新增資料時,手工指定主鍵值。而且使用手工指定主鍵值這種方式時,由於主鍵值不允許重複,因此它要求操作人員在指定主鍵值時...