环境:
windows 2003 sp2、oracle11g(32位)、mysql-5.1.41-winx64.msi(64位)
oracle和mysql都是同一台服务器
需求:建立oracle连接进行查询mysql数据库里面的数据.
参考资料:http://blog.csdn.net/raise4u/archive/2010/04/13/5480497.aspx
方便的话请加我的QQ,方便直接发送错误提示图片,我的QQ:100992995
请高手指点.
目前配置:
1、在服务器上建立了mysql 的 ODBC 数据源, 用户DSN和系统DSN都建立了名字为mysqltest的数据源。
2、进入D:\Server\oracle\product\11.1.0\db_1\tg4msql,建立了initnetlearn.ora文件,文件内容如下:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server
#
# HS init parameters
#
#关键点哦!
HS_FDS_CONNECT_INFO="SERVER=192.168.1.202;DATABASE=netlearn"
#ORACLE文档中无这个关键点哦,不用应该也可以的!
HS_DB_NAME=netlearn
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
3、修改
D:\Server\oracle\product\11.1.0\db_1\NETWORK\ADMIN下的###listener.ora文件:
后面添加了:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SERVICE_NAME = PLSExtProc)
(ORACLE_HOME = D:\Server\oracle\product\11.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SERVICE_NAME = mysqltest)
(ORACLE_HOME = D:\Server\oracle\product\11.1.0\db_1)
(PROGRAM = tg4msql)
)
)
4、重新启动了OracleOraDb11g_home1TNSListener服务
5、用SYS登录了ORACLE创建了DBLINK:
CREATE PUBLIC DATABASE LINK ms_sql
CONNECT TO "root"
IDENTIFIED BY "123456"
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mysqltest)
)
(HS = netlearn)
)';
6、执行查询:select * from tab_user@ms_sql
结果:
ORA-28545:连接代理时net8诊断到错误Unable to retrieve text of NETWORK/NCP message 65535ORA-02063:紧接着 2lines(起自ms_sql)
请问是哪里出现了问题?我最终想要的结果是,连接oracle就可以查询出mysql数据库里面的数据。本人用的oracle是oracle11g,请高人指点。
------解决方案--------------------
我帮你解决了!
------解决方案--------------------
我加你QQ,QQ远程搞