https://blog.csdn.net/zltAlma/article/details/89333202
配置2个odbc连接,一个叫dg4odbc,一个叫mysql_test
Oracle数据库相关配置 (1)F:\app\admin\product\11.2.0\dbhome_1\hs\admin\initdg4odbc.ora,添加如下内容:
HS_FDS_CONNECT_INFO = dg4odbc 说明:和mysql的odbc保持一致 HS_FDS_TRACE_LEVEL = off 说明:需要调试时可以改为debug,调试完成改为off;在F:\app\admin\product\11.2.0\dbhome_1\hs\admin\目录下增加文件initmysql_test.ora,内容如下,保存:
HS_FDS_CONNECT_INFO = mysql_test HS_FDS_TRACE_LEVEL = off(2)打开F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora 添加内容:
SID_LIST_LISTENER1 = (SID_LIST = (SID_DESC = (SID_NAME = dg4odbc) (ORACLE_HOME = F:\app\admin\product\11.2.0\dbhome_1) (PROGRAM = dg4odbc) ) (SID_DESC = (SID_NAME = mysql_test) (ORACLE_HOME = F:\app\zlt\product\11.2.0\dbhome_1) (PROGRAM = dg4odbc) ) ) LISTENER1 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = john1-john)(PORT = 1522)) ) ) ADR_BASE_LISTENER1 = F:\app\admin(3)配置tnsnames.ora(目录:F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora),添加如下代码:
dg4odbc = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = dg4odbc) ) (HS = OK) ) mysql_test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = mysql_test) ) (HS = OK) ) 用oracle连接工具创建dblink,使用管理员身份用户执行: create database link dg4odbc connect to "root" identified by "123456" using 'dg4odbc';--注意使用单引号 create database link mysql_test connect to "root" identified by "123456" using 'mysql_test';或者 先用管理员身份用户对业务用户授权,再用scott用户创建dblink
grant create database link to scott;注:如果在create之后加public(即create pubic database link……),则创建的dblink就是公共的,不加public就只有创建者可以使用了. 6. 测试
select * from dual@dg4odbc; select * from “table1”@dg4odbc;--表名区分大小写时,需要用双引号 insert into table1@"dg4odbc" values (2, '你好'); select m.*,m."aaa",m."bBb" from table1@dg4odbc m --注意区分大小写,否则报错:Oracle ORA-00904:"xxx": 标识符无效