日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ora28500 mysql_Oracle使用 ODBC+DBLINK 访问 Mysql

發布時間:2025/3/11 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。