unixodbc 連接mysql數據庫

1:先安裝unixodbc  --建議用源碼

點擊(此處)摺疊或打開

  1. ./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
  2. make
  3. make install

其它一些參數說明

--enable-gui=no     #不使用qt畫圖,一般生產環境者是ssh 登陸,所以用不上界面。
--enable-iconv=yes --with-iconv-char-enc=GB18030     #這個是因爲後面遇到亂碼的問題,嘗試用這個編譯,但沒起作用,不知道用來幹嘛

測試:
dbcinst  -j  查看下環境

2: 

安裝對應的數據庫驅動。
比如mysql 對應 libmyodbc。 安裝完後查看下庫包含的文件就可以找到對應的lib
 


此次強烈建議用源碼安裝。ubuntu 安裝很簡單apt-get就好。rpm 包會有依賴問題,YUM 有些包會衝突。
點擊(此處)摺疊或打開

  1. tar zxvf mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz
  2. cd mysql-connector-odbc-5.1.11-linux-el6-x86-64bit\lib
  3. cp libmyodbc5.so /usr/local/lib
  4. cd ../
  5. cd bin
  6. ./myodbc-installer -d -a -n "mysql" -t "DRIVER=/usr/lib/libmyodbc5.so;SETUP=/usr/lib/libmyodbc5.so"

--註冊完後odbcisnt.ini裏面會有配置,名字可做修改以便odbc.ini 使用
::安裝過程中可能會出現找不到lib庫的問題,解決辦法:ln一個對應的名字就可以

另外mysqlodbc 驅動一定要下對應的版本,直接去http://dev.mysql.com/downloads/connector/odbc/#downloads選擇對應的版本
否則會報驅動對應的lib庫找不到。即便加了ld也是一樣。
另外如果有出現: Driver]Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)
請下載mysql-connector-odbc-3.51.30-linux-rhel5-x86-32bit 這個版本安裝,這個版本不支持Trace,所以連接的時候有報如下提示,可以選擇刪除該選項。
[MYODBCUtilReadDataSource.c][287][ERROR] Unknown attribute (Trace).
[MYODBCUtilReadDataSource.c][287][ERROR] Unknown attribute (TraceFile).

配置例子:
odbcinst.ini(配置驅動)

點擊(此處)摺疊或打開

  1. [mysql]
  2. Driver=/usr/local/lib/libmyodbc5.so
  3. SETUP=/usr/local/lib/libmyodbc5.so
  4. UsageCount=1


odbc.ini(配置連接)
點擊(此處)摺疊或打開
  1. [mysql]
  2. Description = The Database for mysql
  3. Trace = On
  4. TraceFile = stderr
  5. Driver = mysql
  6. SERVER = 192.168.1.229
  7. USER = roam
  8. PASSWORD = wd_roam
  9. PORT = 3306
  10. DATABASE = roam_t
  11. charset = UTF8
  12. option = 3
最後測試:
isql  mysql 
在這裏面可以做查詢,刪除,插入等操作。配合終端可以驗證是否會亂碼。
utf8亂碼問題,需要指定對應的字符
charset = utf8
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章