在安裝配置之前, 需要先大概了解一下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>