ora28500 mysql_Oracle使用 ODBC+DBLINK 访问 Mysql
接到一个需求要在oracle中访问MySql。
实现过程:
一、oracle主机上安装unixODBC 和mysql-connector-odbc驱动。
二、oracle中建立到MySQL的DBlink。
实验环境和驱动:
[OS Version]
Oracle Linux Server release 5.7
[ORACLE Version]
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
[MySql Version]:
MySQL 5.1.54-1
[ODBC Driver Manager]
unixODBC-2.2.14-linux-x86-64.tar.gz
[MySQL Connector/ODBC driver ]
mysql-connector-odbc-5.1.10-linux-rhel5-x86-64bit.tar.gz
驱动的安装和配置都在oracle的主机上进行。配置后要重启oracle监听。
Step1. 确定使用32/64-bits的驱动
$ file $ORACLE_HOME/bin/dg4odbc
/opt/ora11g/product/11.2.3/db_1/bin/dg4odbc:ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9,dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
以上信息表明我们要使用64-bit的ODBC Driver Manager
Step 2 下载和安装 [ODBC Driver Manager] UnixODBC 2.2.14
url:http://sourceforge.net/projects/unixodbc/files/unixODBC/2.2.14/unixODBC-2.2.14-linux-x86-64.tar.gz/download
$ tar zxvfunixODBC-2.2.14-linux-x86-64.tar.gz
默认会解压到当前目录usr/local目录下,包含bin,include ,lib 三个目录
$ ls usr
bin include lib
创建目录unixodbc-2.2.14
$ mkdir unixodbc-2.2.14
进入unixodbc-2.2.14
$ cd unixodbc-2.2.14
把 刚解压的 usr/local/目录 下的文件移动到unixodbc-2.2.14(注意不是/usr/local)
$ mv ~/tools/usr/local/* .
$ ll
total 12
drwxr-xr-x 2oracle dba 4096 Nov 20 2008 bin
drwxr-xr-x 2 oracle dba 4096 Nov 20 2008 include
drwxr-xr-x 2 oracle dba 4096 Nov 20 2008 lib
$ cd ..
$ rm -r usr/
编辑profile文件,设置LD_LIBRARY_PATH
$ vi ~/.bash_profile
export LD_LIBRARY_PATH=/app/oracle/tools/unixodbc-2.2.14/lib
export PATH=/usr/sbin:/app/oracle/tools/unixodbc-2.2.14/bin:$PATH
$ source ~/.bash_profile
Step 3 下载和安装 [ODBC Driver]
url:http://www.mysql.com/downloads/connector/odbc/5.1.html
mysql-connector-odbc-3.51.30-linux-rhel5-x86-64bit.tar.gz
$ tar zxvfmysql-connector-odbc-3.51.30-linux-rhel5-x86-64bit.tar.gz
$ mvmysql-connector-odbc-5.1.10-linux-rhel5-x86-64bit mysqlodbc_5.1.0
Step 4 配置 ODBC data source for MySQLConnector/ODBC driver
http://dev.mysql.com/doc/refman/5.5/en/connector-odbc-configuration-dsn-unix.html
创建odbc.ini
Database 指定的mysql数据库名区分大小写。
$ vi odbc.ini
[ Data Sources]
myodbc3 = MyODBC 3.51 Driver DSN
[myodbc3]
Driver = /app/oracle/tools/mysqlodbc_3.51/lib/libmyodbc3.so
Description = Connector/ODBC 3.51 Driver DSN
SERVER = 192.168.10.10
PORT =3306
USER =test_user
Password =test_admin
Database = test
OPTION = 3
SOCKET =
Step 5 oracle主机用isql测试oracle到mysql的连接
把odbc.ini加到环境变量中
$ vi ~/.bash_profile
export ODBCINI=/app/oracle/tools/odbc.ini
$ source ~/.bash_profile
$ cd unixodbc-2.2.14/bin/
[oracle@CNPEKVS43 bin]$ ./isql myodbc3 -v
+---------------------------------------+
| Connected! |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Step6 配置 tnsnames.ora
Add the following line to $ORACLE_HOME/network/admin/tnsnames.ora
myodbc3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SID =myodbc3))
(HS=OK)
)
)
Step 7 配置 listener.ora
Open$ORACLE_HOME/network/admin/listener.ora
find SID_LIST_LISTENER definition and add anew entry for myodbc5
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = myodbc3)
(ORACLE_HOME =/opt/ora11g/product/11.2.3/db_1)
(PROGRAM = dg4odbc)
(ENVS=LD_LIBRARY_PATH=/app/oracle/tools/unixodbc-2.2.14/lib)
)
)
注意:ENVS=LD_LIBRARY_PATH一定要指到lib目录下,否则会出现下述错误
ERROR at line 1:
ORA-28500: connection from ORACLE to anon-Oracle system returned this message:
[unixODBC][Driver Manager]Can't open lib
'/app/oracle/tools/mysqlodbc_5.1.0/lib/libmyodbc5.so': libodbcinst.so.1:
cannot open shared object file: No suchfile or directory {01000}
ORA-02063: preceding 2 lines from MYODBC3
Step 8: 配置监听的初始化文件
This file does not exist and you have tocreate it.
vi $ORACLE_HOME/hs/admin/initmyodbc3.ora
HS_FDS_CONNECT_INFO = myodbc3
HS_FDS_TRACE_LEVEL =user
HS_FDS_SHAREABLE_NAME = /app/oracle/tools/unixodbc-2.2.14/lib/libodbc.so
set ODBCINI=/app/oracle/tools/odbc.ini
Step 9: 重启监听
$ lsnrctl stop
$ lsnrctl start
$ lsnrctl status
$ tnsping myodbc3
如果tnsping 有错误,检查listener.ora,tnsnames.ora
Step 10 创建dblink
SQL>create public database link myodbc3 connect to "mysql_user" identified by "password" using'myodbc3';
SQL> select * from"dual"@myodbc3;
[MOS]参考文档:
Detailed Overview of Connecting Oracle to MySQL Using DG4ODBC DatabaseLink [ID 1320645.1]
ora28500 mysql_Oracle使用 ODBC+DBLINK 访问 Mysql相关推荐
- Oracle 10g 中通过DBLink访问MySQL数据库
前一阵在公司通过Oracle访问MySQL,测试环境:CentOS5_X64, Oracle10g_X64, MySQL5 . 把一些经验分享给大家! 1, 首先在Oracle所在计算机安装MySQL ...
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析 . / // datadase odbc1.cpp : 定义应用程序的入口点. // #inc ...
- oracle通过dblink连接mysql配置详解(全Windows下)
oracle通过dblink连接mysql配置详解(全Windows下) 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也 ...
- [Oracle- MySQL] Oracle通过dblink连接MySQL
[Oracle -> MySQL] Oracle通过dblink连接MySQL 业务上有这么一个需求,需要把Oracle的一些数据同步到MySQL,如果每次都是手动同步的话,实在太麻烦,因此 ...
- Mysql —— linux下使用c语言访问mySql数据库
示例1: #include<stdio.h> #include<mysql.h> int main() { MYSQL mysql; mysql_init(&mysql ...
- linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...
本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...
- sql2008能否打开mysql数据库_SQL Server 2008通过LinkServer访问MySQL数据库
(中国软件网讯)怎样让SQL Server 2008数据库可以访问MySQL数据库的数据呢?其实这一实现的过程并不难,可以通过调用MySQL的ODBC驱动,在SQL Server中添加LinkServ ...
- php访问mysql函数吗,PHP访问MySQL数据库函数简介
PHP访问MySQL数据库函数简介 PHP访问MySQL数据库函数简介 1. 进行数据库连接 连接数据库服务器,就是客户端向己运行的数据库服务器发出连接请求, 成功以后就可以对数据库进行相应操作,由于 ...
- vb访问mysql容易死机_VB访问MySQL
最近研究的东西中, 有一部分涉及到用VB访问MySQL数据库, 今天研究了一下小有收获, 共享出来供大家参考首先下载 MySQL 的 ODBC 驱动, 我下载的是 MySQL ODBC 3.51 wi ...
最新文章
- 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(3)--- 服务访问和配置模式...
- 虚拟机增强工具的安装
- RAID技术详细解答之一:入门基础篇
- arcgis python脚本实现从界面选择输入输出_ArcGIS Python脚本实现数据驱动页面的批量出图...
- java字节数_Java各种类型占用的字节数
- c#string倒数第二位插入字符_【转载】C#中string类使用Substring方法截取字符串
- 用简单的语言描述C++ 是什么?
- OpenCV3学习(11.4)斑点检测 SimpleBlobDetector
- koa如何实现Oauth2(一)
- 简易局域网聊天java_简单的局域网聊天程序(java版本的)
- linux 提升管理员权限命令,​cmd怎么用命令直接提升到管理员权限|cmd原有权限提升方法...
- linux中文字体不一致的解决方法
- 如何恢复扩展属性为u的linux文件,chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性...
- 照相机模型与增强现实
- 同一局域网内手机访问电脑本地localhost网页
- java html5转pdf文件_Java 将Html转为PDF
- 黄页宝贝工具栏软件发布了
- Spring事务问题
- 智能电视局域网手机遥控实现
- 软件公司(Java)转正总结报告,仅供参考
热门文章
- antd 左右滑动_如何使用reactjs创建可滑动的侧边栏
- 【SSM面向CRUD编程专栏 3】关于黑马程序员最全SSM框架教程视频,P37集老师跳过的模块创建以及tomcat下载安装配置和运行等诸多问题
- 了解spring-boot-starter
- pip模块 redis、xlrd、xlutils、nnlog、requests
- 移动端 | Vue.js对比微信小程序基础语法
- Hazelcast发布Jet 0.6版本
- 元类编程--property动态属性
- atitit.atiOrmStoreService 框架的原理与设计 part1 概述与新特性
- Fix chrome 下flash crash的问题
- Format Currency Sample