我现在有两种数据库,一个为oracle 11g,版本为:11.1.0.6.0 - 64bit,安装在HP-IA64的服务器上,一个为mysql 5.1,安装在同一台服务器中。
现在要实现oracle的数据库能够查询mysql数据库的表,想要通过oracle的异构功能来实现,但由于小弟对数据库了解不深,还请各位帮忙。
以下为我的各个配置文件,不知道错误出在哪儿里了:
1、由于oracle 11g没有了hsodbc,需要采用dg4odbc,dg4odbc运行正常:
$ dg4odbc Oracle Corporation — TUESDAY NOV 17 2009 16:36:56.450 Heterogeneous Agent Release 11.1.0.6.0 - 64bit Production Built with Oracle Database Gateway for ODBC |
2、odbc.ini文件:
[localdp] Description = hsdp Driver = /app/lib/libmyodbc3_r-3.51.25.so Server = localhost Database = dp Port = 3306 UID = root Password = 123456 Socket = Option = 7340295 Stmt = |
3、isql运行正常:
$ isql -v localdp +—————————————+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +—————————————+ SQL> |
4、init <>.ora文件:
$ cat initdp.ora HS_FDS_CONNECT_INFO=localdp HS_FDS_TRACE_LEVEL= off HS_FDS_SHAREABLE_NAME=app/lib/libmyodbc3_r-3.51.25.so HS_LANGUAGE=american_america.zhs16cgb231280 HS_OPEN_CURSORS=300 set ODBCINI=/app/configinfo/odbc.ini set ORACLE_HOME=/app/oracle/app/oracle/product/11.1.0/db_2 |
5、listener.ora中加入的内容:
(SID_DESC = (SID_NAME = dp) (ORACLE_HOME = /app/oracle/app/oracle/product/11.1.0/db_2) (PROGRAM = dg4odbc) (ENVS="LD_LIBRARY_PATH=/app/oracle/app/oracle/product/11.1.0/db_2/lib:/app/unixodbc/lib") ) |
6、tnsnames.ora文件中加入内容:
hsd = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dp) ) (HS = OK) ) |