第二 Mysql 配置ODBC
- Driver Manager: 负责管理应用程序和驱动程序间的通信, 主要功能包括: 解析DSN (数据源名称,ODBC的数据源名称在ODBC.INI文件中配置),加载和卸载驱动程序,处理ODBC调用,将其传递给驱动程序.
- Connector/ODBC(MyODBC驱动程序): 实现ODBC API所提供的功能,它负责处理ODBC函数调用,将SQL请求提交给MySQL服务器,并将结果返回给应用程序.
- ODBC.INI ODBC.INI是ODBC配置文件,记录了连接到服务器所需的驱动信息和数据库信息。Driver Manager将使用它来确定加载哪个驱动程序(使用数据源名DSN)。驱动程序将根据指定的DSN来读取连接参数。
在Linux下配置mysql ODBC 需要有以下步骤:
1. 安装软件包
- mysql-connector-odbc
- unixODBC
[root@mydb2 ~]# yum install mysql-connector-odbc
==============================================================================
Package Arch Version
==============================================================================
Installing:
mysql-connector-odbc x86_64 5.1.5r1144-7.el6
Installing for dependencies:
libtool-ltdl x86_64 2.2.6-15.5.el6
unixODBC x86_64 2.2.14-11.el6
#检查安装目录
[root@mydb2 etc]# more /etc/odbcinst.ini
# Example driver definitions
# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbc.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbc.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
[root@mydb2 lib64]# pwd
/usr/lib64
[root@mydb2 lib64]# ll *odbc*
-rwxr-xr-x 1 root root 283400 Aug 21 2010 libmyodbc5-5.1.5.so
lrwxrwxrwx 1 root root 19 Jun 4 01:15 libmyodbc5.so -> libmyodbc5-5.1.5.so
lrwxrwxrwx 1 root root 18 Jun 4 01:15 libodbccr.so.2 -> libodbccr.so.2.0.0
-rwxr-xr-x 1 root root 40416 Aug 25 2010 libodbccr.so.2.0.0
lrwxrwxrwx 1 root root 24 Jun 4 01:15 libodbcdrvcfg1S.so.2 -> libodbcdrvcfg1S.so.2.0.0
-rwxr-xr-x 1 root root 4656 Aug 25 2010 libodbcdrvcfg1S.so.2.0.0
lrwxrwxrwx 1 root root 24 Jun 4 01:15 libodbcdrvcfg2S.so.2 -> libodbcdrvcfg2S.so.2.0.0
-rwxr-xr-x 1 root root 4304 Aug 25 2010 libodbcdrvcfg2S.so.2.0.0
lrwxrwxrwx 1 root root 20 Jun 4 01:15 libodbcinst.so -> libodbcinst.so.2.0.0
lrwxrwxrwx 1 root root 20 Jun 4 01:15 libodbcinst.so.2 -> libodbcinst.so.2.0.0
-rwxr-xr-x 1 root root 68928 Aug 25 2010 libodbcinst.so.2.0.0
lrwxrwxrwx 1 root root 21 Jun 4 01:15 libodbcminiS.so.2 -> libodbcminiS.so.2.0.0
-rwxr-xr-x 1 root root 4832 Aug 25 2010 libodbcminiS.so.2.0.0
lrwxrwxrwx 1 root root 19 Jun 4 01:15 libodbcmyS.so -> libodbcmyS.so.2.0.0
lrwxrwxrwx 1 root root 19 Jun 4 01:15 libodbcmyS.so.2 -> libodbcmyS.so.2.0.0
-rwxr-xr-x 1 root root 7128 Aug 25 2010 libodbcmyS.so.2.0.0
lrwxrwxrwx 1 root root 19 Jun 4 01:15 libodbcnnS.so.2 -> libodbcnnS.so.2.0.0
-rwxr-xr-x 1 root root 4448 Aug 25 2010 libodbcnnS.so.2.0.0
lrwxrwxrwx 1 root root 21 Jun 4 01:15 libodbcpsqlS.so -> libodbcpsqlS.so.2.0.0
lrwxrwxrwx 1 root root 21 Jun 4 01:15 libodbcpsqlS.so.2 -> libodbcpsqlS.so.2.0.0
-rwxr-xr-x 1 root root 6768 Aug 25 2010 libodbcpsqlS.so.2.0.0
lrwxrwxrwx 1 root root 16 Jun 4 01:15 libodbc.so -> libodbc.so.2.0.0
lrwxrwxrwx 1 root root 16 Jun 4 01:15 libodbc.so.2 -> libodbc.so.2.0.0
-rwxr-xr-x 1 root root 418072 Aug 25 2010 libodbc.so.2.0.0
lrwxrwxrwx 1 root root 20 Jun 4 01:15 libodbctxtS.so.2 -> libodbctxtS.so.2.0.0
-rwxr-xr-x 1 root root 6696 Aug 25 2010 libodbctxtS.so.2.0.0
lrwxrwxrwx 1 root root 20 Jun 4 01:15 liboplodbcS.so.2 -> liboplodbcS.so.2.0.0
-rwxr-xr-x 1 root root 7896 Aug 25 2010 liboplodbcS.so.2.0.0
lrwxrwxrwx 1 root root 20 Jun 4 01:15 liboraodbcS.so.2 -> liboraodbcS.so.2.0.0
-rwxr-xr-x 1 root root 5184 Aug 25 2010 liboraodbcS.so.2.0.0
2. 配置odbc.ini文件
[root@mydb2 lib64]# vi /etc/odbc.ini
[mysqlDSN]
Driver =/usr/lib64/libmyodbc5.so
Description = Connector/ODBC 3.51 Driver DSN
SERVER =localhost
PORT =
USER =root
Password =pass
Database =test
OPTION = 3
SOCKET =
3. 配置环境变量
export DBCINI=/etc/odbc.ini
export DBCSYSINI=/etc
4. 测试验证
[root@mydb2 ~]# isql mysqlDSN
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>