ORACLE 訪問MYSQL 配置筆記
ORACLE本身並沒有針對MYSQL的透明閘道器,因此ORACLE 訪問MYSQL需透過ODBC 的透明閘道器完成。出於簡單說明,ORACLE 安裝在Windows 系統下。
第一步: 安裝MYSQL ODBC 驅動
由於是ORACLE 訪問MYSQL, 因此MYSQL ODBC 驅動 必須安裝在ORACLE 所在的伺服器上。可下載安裝mysql-connector-odbc-*.msi 安裝,或者在安裝mysql 社群版時選擇安裝connector-odbc。 需要說明的是,並不是每次都能安裝成功connector-odbc。
第二步: 建立MYSQL ODBC 資料來源
在管理工具-> 資料來源(ODBC)->系統DSN 中新增MYSQL的ODBC 資料來源。假設取名“KEYMYSQL”A。可以在配置過程中測試連線,確保能夠連通。
第三步: 建立init<閘道器>.ora
在$ORACLE_HOME\HS\ADMIN\ 目錄下有一個initdg4odbc.ini 檔案。 在當前目錄下,複製一命名規則為 init<閘道器>.ora的檔案,例如initmysql.ora , 這裡“mysql”B就是閘道器的sid.。 該檔案中兩行可以如下配置:
HS_FDS_CONNECT_INFO = keymysql
HS_FDS_TRACE_LEVEL = NO
其中HS_FDS_CONNECT_INFO 的值就是第二步配置的ODBC資料來源 “KEYMYSQL”A 中的值。
第四步: 將閘道器新增監聽中
在資料庫伺服器上修改$ORACLE_HOME\network|admin\ 下的listener.ora 檔案,在SID_LIST_LISTENER 新增標紅這段:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = mysql)
(ORACLE_HOME = e:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = dg4odbc)
)
)
這裡 需要說明的是,一是,SID_NAME 的值就是第三步閘道器“mysql”B的值,和第二步ODBC 資料來源的值無關, 二是ORACLE_HOME 是你資料庫中實際的$ORACLE_HOME值不要直接複製忘了改。
第五步:配置別名
在資料庫伺服器上修改$ORACLE_HOME\network|admin\ 下的tnsname.ora 檔案,新增資料庫別名:
MYSQLSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mysql)
)
(HS = OK)
)
其中“MYSQLSERVER”C 是別名, SERVICE_NAME 的“mysql”對應的是第三和第四步中的SID
第六步: 建立資料庫連線
執行以下SQL:
create database link mysqllk
connect to "root"
identified by "root" using ‘MYSQLSERVER’;
其中“mysqllk”是database link ,
第七步: 測試
假設MYSQL中有個表t, 在ORACLE 中執行:
Select * from t@ mysqllk ;
如果返回值正確,則表示配置過程。
PS: 由於MYSQL 是UTF8 字符集,ORACLE 資料庫是US7ASCII 字符集,讀取MYSQL中的中文會返回亂碼,網上一些,例如在 init<閘道器>.ora 中配置HS_LANGUAGE和HS_NLS_NCHAR的方法還不奏效,還需下一步排除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9036/viewspace-1606163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 配置Mysql Group Replication遇到的問題筆記MySql筆記
- Oracle/MySQL透過odbc訪問PostgreSQL for LightDBOracleMySql
- Oracle 透過透明閘道器 訪問 mysqlOracleMySql
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- Oracle透明閘道器訪問MySQL資料庫OracleMySql資料庫
- Laravel 使用筆記之一 訪問器Laravel筆記
- Oracle 11.2.0.4 透過透明閘道器訪問mysql 8.0.16OracleMySql
- Oracle外網訪問Oracle
- Oracle 訪問路徑Oracle
- oracle筆記Oracle筆記
- 配置hosts訪問githubGithub
- iOS學習筆記49 Swift(九)訪問控制iOS筆記Swift
- 使用ogg 從oracle 同步mysql遇到問題記錄OracleMySql
- mysql8.x docker遠端訪問配置詳解硨磬MySqlDocker
- FeignClient配置日誌訪問client
- PostgreSQL IP地址訪問配置SQL
- Mysql 筆記MySql筆記
- MySQL筆記MySql筆記
- tomcat+jsp訪問mysqlTomcatJSMySql
- 配置Oracle DBlink連線MySQL庫OracleMySql
- 配置ogg異構oracle到mysqlOracleMySql
- 【廖雪峰python入門筆記】list_按照索引訪問Python筆記索引
- 【廖雪峰python入門筆記】list_倒序訪問Python筆記
- Oracle 常用SQL筆記OracleSQL筆記
- Holer實現Oracle外網訪問Oracle
- Oracle資料庫限制訪問IPOracle資料庫
- [oracle零碎筆記]oracle零碎筆記(持續更新…)Oracle筆記
- webpack配置筆記Web筆記
- Nginx 配置訪問 swagger 頁面NginxSwagger
- WebSphere配置https協議訪問WebHTTP協議
- nginx配置https協議訪問NginxHTTP協議
- Express 配置HTML頁面訪問ExpressHTML
- nginx 專案配置 https 訪問NginxHTTP
- C#訪問MySql原始版C#MySql
- Mysql 工作筆記MySql筆記
- MySql索引筆記MySql索引筆記
- mysql CRUD筆記MySql筆記
- 筆記:MAC使用brew配置nginx、php、mysql、php-fpm、redis筆記MacNginxPHPMySqlRedis
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權