linux 作業系統下ORACLE資料庫使用透明閘道器連線MYSQL
在mysql上建立使用者
create database dbname;
grant all on dbname.* to username@'%' identified by 'dbname123';
在oracle服務端安裝
yum install -y mysql-connector-odbc
chown oracle.oinstall /etc/odbc.ini
在oracle服務端配置odbc
vim /etc/odbc.ini
[mysql207]
Description = MySQL test database
Trace = debug
TraceFile = mysql.trace.log
Driver = /usr/lib64/libmyodbc5.so
SERVER = 10.100.105.207
USER = username
PASSWORD = dbname123
PORT = 3306
DATABASE = dbname
-----------
其中,mysql207為服務名,後面將會用到
/usr/lib64/libmyodbc5.so 為odbc 驅動
10.100.105.207 為要訪問mysql 所在IP
username登陸mysql 伺服器使用者名稱(isql用到,後面建立的dblink不使用)
3306 為mysql 資料庫埠(isql用到,後面建立的dblink不使用)
在oracle服務端測試odbc
su - oracle
isql mysql207
在$ORACLE_HOME/hs/admin/目錄下,配置initmysql207.ora檔案,initmysql207.ora命名方式為init+服務名+.ora。新增如下內容
more $ORACLE_HOME/hs/admin/initmysql207.ora
# HS init parameters
#
HS_FDS_CONNECT_INFO = mysql207
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME = /usr/lib64/libmyodbc5.so
#HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8
HS_LANGUAGE=AMERICAN_AMERICA.UTF8
HS_NLS_NCHAR = UCS2
#HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
#HS_FDS_SQLLEN_INTERPRETATION=32
HS_FDS_SQLLEN_INTERPRETATION=64
HS_LONG_PIECE_TRANSFER_SIZE=1258291
# ODBC specific environment variables
#
#set DBCINI=
set DBCINI=/etc/odbc.ini
-------------
HS_FDS_CONNECT_INFO為服務名,與前面保持一致
HS_FDS_TRACE_LEVEL 為日誌跟蹤級別,不使用時可以設為OFF
HS_FDS_SHAREABLE_NAME 為ODBC驅動
HS_LANGUAGE 為異構伺服器的字符集,語言
HS_FDS_SQLLEN_INTERPRETATION 允許64bit 驅動可以使用32bit 標準
修改listener.ora 檔案,新增一個監聽器:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
)
)
SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(PROGRAM = dg4odbc)
(SID_NAME = mysql207)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
)
)
或者在oracle增加靜態監聽:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = dg4odbc)
(SID_NAME = mysql207)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
)
)
-----------
SID_NAME為服務名
PROGRAM 為使用dg4odbc 驅動
啟動listener1
lsnrctl start listener1
修改tnsnames.ora 檔案,新增如下內容
mysql207 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.100.105.207)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = mysql207)
)
(hs=ok)
)
其中SID為前面定義的服務名
HOST為本機的機器名或者IP
PORT為本機的資料庫監聽器埠
建oracle 中建立資料庫連結
sqlplus / as sysdba
create public database link lnmysql207 connect to "username" identified by "dbname123" using 'mysql207';
測試:
select * from t1@lnmysql207;
RROR at line 1:
ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.105.208)(PORT=1521))
(CONNECT_DATA=(SID=mysql207)))
ORA-02063: preceding line from LN_MY23_3322
Process ID: 18585
Session ID: 96 Serial number: 207
在init'mysql207.ora檔案中新增如下引數
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
#HS_FDS_SQLLEN_INTERPRETATION=32
HS_FDS_SQLLEN_INTERPRETATION=64
create database dbname;
grant all on dbname.* to username@'%' identified by 'dbname123';
在oracle服務端安裝
yum install -y mysql-connector-odbc
chown oracle.oinstall /etc/odbc.ini
在oracle服務端配置odbc
vim /etc/odbc.ini
[mysql207]
Description = MySQL test database
Trace = debug
TraceFile = mysql.trace.log
Driver = /usr/lib64/libmyodbc5.so
SERVER = 10.100.105.207
USER = username
PASSWORD = dbname123
PORT = 3306
DATABASE = dbname
-----------
其中,mysql207為服務名,後面將會用到
/usr/lib64/libmyodbc5.so 為odbc 驅動
10.100.105.207 為要訪問mysql 所在IP
username登陸mysql 伺服器使用者名稱(isql用到,後面建立的dblink不使用)
3306 為mysql 資料庫埠(isql用到,後面建立的dblink不使用)
在oracle服務端測試odbc
su - oracle
isql mysql207
在$ORACLE_HOME/hs/admin/目錄下,配置initmysql207.ora檔案,initmysql207.ora命名方式為init+服務名+.ora。新增如下內容
more $ORACLE_HOME/hs/admin/initmysql207.ora
# HS init parameters
#
HS_FDS_CONNECT_INFO = mysql207
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME = /usr/lib64/libmyodbc5.so
#HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8
HS_LANGUAGE=AMERICAN_AMERICA.UTF8
HS_NLS_NCHAR = UCS2
#HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
#HS_FDS_SQLLEN_INTERPRETATION=32
HS_FDS_SQLLEN_INTERPRETATION=64
HS_LONG_PIECE_TRANSFER_SIZE=1258291
# ODBC specific environment variables
#
#set DBCINI=
set DBCINI=/etc/odbc.ini
-------------
HS_FDS_CONNECT_INFO為服務名,與前面保持一致
HS_FDS_TRACE_LEVEL 為日誌跟蹤級別,不使用時可以設為OFF
HS_FDS_SHAREABLE_NAME 為ODBC驅動
HS_LANGUAGE 為異構伺服器的字符集,語言
HS_FDS_SQLLEN_INTERPRETATION 允許64bit 驅動可以使用32bit 標準
修改listener.ora 檔案,新增一個監聽器:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
)
)
SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(PROGRAM = dg4odbc)
(SID_NAME = mysql207)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
)
)
或者在oracle增加靜態監聽:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = dg4odbc)
(SID_NAME = mysql207)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
)
)
-----------
SID_NAME為服務名
PROGRAM 為使用dg4odbc 驅動
啟動listener1
lsnrctl start listener1
修改tnsnames.ora 檔案,新增如下內容
mysql207 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.100.105.207)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = mysql207)
)
(hs=ok)
)
其中SID為前面定義的服務名
HOST為本機的機器名或者IP
PORT為本機的資料庫監聽器埠
建oracle 中建立資料庫連結
sqlplus / as sysdba
create public database link lnmysql207 connect to "username" identified by "dbname123" using 'mysql207';
測試:
select * from t1@lnmysql207;
RROR at line 1:
ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=ORA-28511: lost RPC connection to heterogeneous remote agent using
SID=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.105.208)(PORT=1521))
(CONNECT_DATA=(SID=mysql207)))
ORA-02063: preceding line from LN_MY23_3322
Process ID: 18585
Session ID: 96 Serial number: 207
在init'mysql207.ora檔案中新增如下引數
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
#HS_FDS_SQLLEN_INTERPRETATION=32
HS_FDS_SQLLEN_INTERPRETATION=64
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2125628/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 透明閘道器連線MySQLOracleMySql
- Oracle透明閘道器訪問MySQL資料庫OracleMySql資料庫
- 配置Oracle Gateways透明閘道器連線多個MSSQL資料庫OracleGatewaySQL資料庫
- oracle通過透明閘道器連線mysql的配置OracleMySql
- oracle連線teradata透明閘道器配置Oracle
- Oracle透明閘道器訪問SQLServer資料庫OracleSQLServer資料庫
- ORACLE通過透明閘道器連線DB2OracleDB2
- ORACLE 透明閘道器訪問 MYSQL 表OracleMySql
- Oracle透明閘道器訪問Mysql—luckyfriendsOracleMySql
- oracle透明閘道器之異構資料庫的訪問Oracle資料庫
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- Oracle 透過透明閘道器 訪問 mysqlOracleMySql
- 【磐維資料庫】Oracle(透明閘道器)訪問磐維資料庫(PanWeiDB)資料庫Oracle
- ORACLE透明閘道器的配置Oracle
- linux作業系統下建立mysql映象資料庫(轉)Linux作業系統MySql資料庫
- 新手Linux作業系統的閘道器設定(轉)Linux作業系統
- Oracle10g中通過透明閘道器、DBLink訪問MySQL資料OracleMySql
- Oracle 通過透明閘道器訪問mysql配置步驟OracleMySql
- ORACLE通過透明閘道器建dblink連線Postgresql的幾個問題OracleSQL
- oracle通過透明閘道器(Oracle Transparent Geteways),訪問ms sql server和其他資料庫OracleSQLServer資料庫
- Oracle 11.2.0.4 透過透明閘道器訪問mysql 8.0.16OracleMySql
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- transparent gateway 透明閘道器配置Gateway
- 安全閘道器 透明加解密解密
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- 1.6.4.3. 使用作業系統認證連線資料庫作業系統資料庫
- 使用cmd連線mysql資料庫MySql資料庫
- 統信作業系統下資料庫管理利器作業系統資料庫
- Linux系統預設閘道器怎麼更改?Linux系統預設閘道器的更改方法教程Linux
- oracle9i透明閘道器到sqlserver的配置OracleSQLServer
- ORACLE9i 的透明閘道器的配置 (轉)Oracle
- Oracle學習系列—Window作業系統下Oracle資料庫的手工建立Oracle作業系統資料庫
- Django使用pymysql連線MySQL資料庫DjangoMySql資料庫
- 使用PETAPOCO連線MYSQL資料庫MySql資料庫
- 使用ABP EntityFramework連線MySQL資料庫FrameworkMySql資料庫
- MFC 使用VS 連線 MySQL資料庫MySql資料庫
- linux和windows作業系統下完全刪除oracle資料庫LinuxWindows作業系統Oracle資料庫
- 【inux作業系統下的oracle資料庫在sqlplus下呼叫vi編輯器方法】UX作業系統Oracle資料庫SQL