怎样从Oracle数据库中访问MYSQL数据库中的表(透明网关,通用连接)?

xiaoping117 2008-10-13 08:56:34
怎样从Oracle数据库中访问MYSQL数据库中的表(透明网关,通用连接)?

好像透明网关和通用连接都可以实现,我没用过,求人指教~!
...全文
1020 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ito_oti 2011-10-07
  • 打赏
  • 举报
回复
这里说的Oracle和MySQL是不是装在同一台电脑上的?
gisinfo 2009-11-20
  • 打赏
  • 举报
回复
mysql登陆命令-u -p 必须和后面的没有空格

目录也应该是
%ORACLE_HOME%/hs/admin/initmysqlora.ora


jingcui3210 2009-10-10
  • 打赏
  • 举报
回复
(6)配置初始化参数%ORACLE_HOME%/admin/initmysqlora.ora

这个他写错了,应该是%ORACLE_HOME%/hs/admin/initmysqlora.ora
xiaoping117 2008-10-14
  • 打赏
  • 举报
回复
(6)配置初始化参数%ORACLE_HOME%/admin/initmysqlora.ora



这个文件找不到,是不是要重新安装什么组件啊?
oracledbalgtu 2008-10-13
  • 打赏
  • 举报
回复
给你个参考:
创建oracle访问mysql的数据链路步骤2008-08-08 14:32Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
(1)登陆到mysql
C:\Documents and Settings\Administrator>mysql -h localhost -u root -p
Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 69
Server version: 5.0.51a-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
(2)创建数据库
mysql> create database oracle;
Query OK, 1 row affected (0.00 sec)
(3)创建被访问的mysql用户
mysql> grant all privileges on oracle.* to 'orauser'@'%' identified by 'orauser'
with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
(4)登陆该用户,并测试
C:\Documents and Settings\Administrator>mysql -h localhost -u orauser -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 70
Server version: 5.0.51a-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> use oracle;
Database changed
mysql> create table test(tid integer,tname varchar(20));
Query OK, 0 rows affected (0.06 sec)

mysql> insert into test(tid,tname)values(1,'byf');
Query OK, 1 row affected (0.03 sec)

mysql> insert into test(tid,tname)values(2,'others');
Query OK, 1 row affected (0.02 sec)

mysql> select * from test;
+------+--------+
| tid | tname |
+------+--------+
| 1 | byf |
| 2 | others |
+------+--------+
2 rows in set (0.00 sec)

mysql>
(5)安装mysql odbc driver 3.51并设置odbc数据源
data source name:mysqlora
server:localhost
user: orauser
password:orauser
database:oracle
(6)配置初始化参数%ORACLE_HOME%/admin/initmysqlora.ora
HS_FDS_CONNECT_INFO =mysqlora
HS_FDS_TRACE_LEVEL = on
(7)配置%ORACLE_HOME%/newtwork/admin/tnsname.ora
mysqlora=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
( SID= mysqlora))
(HS=OK)
)
(8)配置%ORACLE_HOME%/newtwork/admin/listener.ora
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oradb)
(ORACLE_HOME = D:\oracle)
(SID_NAME = oradb)
)
(SID_DESC =
(PROGRAM = hsodbc)
(ORACLE_HOME = D:\oracle\)
(SID_NAME = mysqlora)
)
)
(9)建立oracle到mysql的数据链路,并测试

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 8月 8 14:17:49 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn byf/1234;
已连接。

SQL> create database link mysqlora
2 connect to "orauser" identified by "orauser" using 'mysqlora';

数据库链接已创建。

SQL> select * from test@mysqlora;

tid tname
---------- --------------------
1 byf
2 others

SQL>



[Quote=引用楼主 xiaoping117 的帖子:]
怎样从Oracle数据库中访问MYSQL数据库中的表(透明网关,通用连接)?

好像透明网关和通用连接都可以实现,我没用过,求人指教~!
[/Quote]
xiaoping117 2008-10-13
  • 打赏
  • 举报
回复
我用的是Oracle 10G

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧