Oracle 透明閘道器連線MySQL
Oracle透明閘道器連線MySQL
聯結器下載:http://cdn.mysql.com/Downloads/Connector-ODBC/5.2/mysql-connector-odbc-5.2.6-1.el6.i686.rpm
1.配置unixODBC
/etc/odbc.ini
[mysql]
Driver =/usr/lib/libmyodbc5w.so
Server =192.168.1.50
User =mysql
Password=mysql
Port =3306
database=edmond
Charset =GBK
使用isql測試
2.配置HS
編輯$ORACLE_HOME/hs/admin/initmysql.ora
其中mysql是sid
HS_FDS_CONNECT_INFO = mysql
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME = libodbc.so
HS_LANGUAGE=AMERICAN_AMERICA.ZHS16GBK
set ODBCINI=/etc/odbc.ini
語言這行不能缺少,否則報錯。
3.配置tns
mysql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mysql)
)
(HS = OK)
)
4.配置監聽器
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = mysql)
(ORACLE_HOME = /home/lihuilin/dev/app/lihuilin/product/11.2.0/dbhome_1)
(SID_NAME = mysql)
(PROGRAM = dg4odbc)
(ENVS="LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib")
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = lihuilin.home)(PORT = 1521))
)
ADR_BASE_LISTENER = /home/lihuilin/dev/app/lihuilin
5.建立db link
在MySQL建立測試表
create table t(a varchar(20) primary key) engine=innodb,charset =gbk;
insert into t values('透明');
commit;
檢視結果:
如果前臺報錯如下所示
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[
$ORACLE_HOME/hs/log的後臺日誌報錯如下:
hgopoer, line 233: got native error 0 and sqlstate I; message follows...
[
Exiting hgopoer, rc=0 at 2014/03/04-21:40:18
hgocont, line 2752: calling SqlDriverConnect got sqlstate I
Exiting hgocont, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgocont.c LINE:2772 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgolgon.c LINE:781 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2014/03/04-21:40:18
有兩個可能
1.HS_LANGUAGE沒有配置
2.HS_LANGUAGE和MySQL的字符集不匹配
參考:
http://blog.itpub.net/21601207/viewspace-709366
https://community.oracle.com/thread/1058928?tstart=69&messageID=4227188
聯結器下載:http://cdn.mysql.com/Downloads/Connector-ODBC/5.2/mysql-connector-odbc-5.2.6-1.el6.i686.rpm
1.配置unixODBC
/etc/odbc.ini
[mysql]
Driver =/usr/lib/libmyodbc5w.so
Server =192.168.1.50
User =mysql
Password=mysql
Port =3306
database=edmond
Charset =GBK
使用isql測試
2.配置HS
編輯$ORACLE_HOME/hs/admin/initmysql.ora
其中mysql是sid
HS_FDS_CONNECT_INFO = mysql
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME = libodbc.so
HS_LANGUAGE=AMERICAN_AMERICA.ZHS16GBK
set ODBCINI=/etc/odbc.ini
語言這行不能缺少,否則報錯。
3.配置tns
mysql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mysql)
)
(HS = OK)
)
4.配置監聽器
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = mysql)
(ORACLE_HOME = /home/lihuilin/dev/app/lihuilin/product/11.2.0/dbhome_1)
(SID_NAME = mysql)
(PROGRAM = dg4odbc)
(ENVS="LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib")
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = lihuilin.home)(PORT = 1521))
)
ADR_BASE_LISTENER = /home/lihuilin/dev/app/lihuilin
5.建立db link
在MySQL建立測試表
create table t(a varchar(20) primary key) engine=innodb,charset =gbk;
insert into t values('透明');
commit;
檢視結果:
如果前臺報錯如下所示
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[
$ORACLE_HOME/hs/log的後臺日誌報錯如下:
hgopoer, line 233: got native error 0 and sqlstate I; message follows...
[
Exiting hgopoer, rc=0 at 2014/03/04-21:40:18
hgocont, line 2752: calling SqlDriverConnect got sqlstate I
Exiting hgocont, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgocont.c LINE:2772 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgolgon.c LINE:781 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2014/03/04-21:40:18
有兩個可能
1.HS_LANGUAGE沒有配置
2.HS_LANGUAGE和MySQL的字符集不匹配
參考:
http://blog.itpub.net/21601207/viewspace-709366
https://community.oracle.com/thread/1058928?tstart=69&messageID=4227188
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1101147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle通過透明閘道器連線mysql的配置OracleMySql
- oracle連線teradata透明閘道器配置Oracle
- ORACLE通過透明閘道器連線DB2OracleDB2
- ORACLE 透明閘道器訪問 MYSQL 表OracleMySql
- Oracle透明閘道器訪問Mysql—luckyfriendsOracleMySql
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- Oracle 透過透明閘道器 訪問 mysqlOracleMySql
- 配置Oracle Gateways透明閘道器連線多個MSSQL資料庫OracleGatewaySQL資料庫
- linux 作業系統下ORACLE資料庫使用透明閘道器連線MYSQLLinux作業系統Oracle資料庫MySql
- ORACLE透明閘道器的配置Oracle
- Oracle透明閘道器訪問MySQL資料庫OracleMySql資料庫
- Oracle 通過透明閘道器訪問mysql配置步驟OracleMySql
- ORACLE通過透明閘道器建dblink連線Postgresql的幾個問題OracleSQL
- Oracle 11.2.0.4 透過透明閘道器訪問mysql 8.0.16OracleMySql
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- transparent gateway 透明閘道器配置Gateway
- Oracle透明閘道器訪問SQLServer資料庫OracleSQLServer資料庫
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- oracle9i透明閘道器到sqlserver的配置OracleSQLServer
- ORACLE9i 的透明閘道器的配置 (轉)Oracle
- 透明閘道器 oracle 10g for sqlserver 和sybase的配置Oracle 10gSQLServer
- Oracle配置透明閘道器訪問sql2000OracleSQL
- Oracle10g中通過透明閘道器、DBLink訪問MySQL資料OracleMySql
- oracle透明閘道器之異構資料庫的訪問Oracle資料庫
- 10g透明閘道器訪問sqlserverSQLServer
- ADSL+RH8.0透明閘道器指南(轉)
- 透明閘道器一些特殊場景的配置
- ORACLE 9i 建立透明閘道器訪問SQL Server 2008OracleSQLServer
- 透明閘道器的安裝配置及一般使用
- VPN閘道器連線多地域線下辦公網路(VPN-HUB)
- oracle通過透明閘道器(Oracle Transparent Geteways),訪問ms sql server和其他資料庫OracleSQLServer資料庫
- Janusec應用安全閘道器(WAF閘道器)
- 長連線閘道器技術專題(九):去哪兒網酒店高效能業務閘道器技術實踐
- 透明的閘道器:在Linux上執行IPchains(轉)LinuxAI
- Modbus轉Profinet閘道器連線LED大屏與PLC通訊
- 閘道器GatewayGateway
- 什麼是閘道器?閘道器的作用是什麼,閘道器的作用詳解
- mysql 連線oracleMySqlOracle