Linux平台下mysql的ODBC配置方法
在安装配置之前, 需要先大概了解一下MyODBC的架构. MyODBC体系结构建立在5个组件上,如下图所示:
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. 安装Driver Manager , 本案例使用unixODBC 来作为Driver Manager.
2. 安装MySQL驱动程序, 本案例使用Connector/ODBC.
3. 配置ODBC.INI
所需软件包:unixODBC unixODBC-devel mysql-connector-odbc libiodbc libiodbc-devel
第一步: yum安装软件包
yum install -y unixODBC unixODBC-devel mysql-connector-odbc libiodbc libiodbc-devel
第二步: 配置odbc的驱动 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
第三步:配置要链接的数据库的DSN
[ldap]
DSN = ldap
Description = The Database for mysql Driver = MySQL
Database = ldap
Server = 10.10.211.6
User = ldap
Password = ldap123
Port = 3306
Socket = /var/lib/mysql/mysql.sock
ReadOnly = no
charset = UTF8
第四步: 测试ODBC配置是否成功
Isql是unixODBC带的一个ODBC客户端访问工具, 使用isql +数据源名 来访问目标数据库.
如果ODBC配置正确, 会显示下面的界面. 在SQL>提示符下输入SQL语句查询数据库.
# isql ldap
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>