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   #这个是因为后面遇到乱码的问题,尝试用这个编译,但没起作用,不知道用来干嘛

测试:

1

#dbcinst  -j  #查看下环境

2

unixODBC 2.2.14

3

DRIVERS............: /etc/odbcinst.ini

4

SYSTEM DATA SOURCES: /etc/odbc.ini

5

FILE DATA SOURCES..: /etc/ODBCDataSources

6

USER DATA SOURCES..: /root/.odbc.ini

7

SQLULEN Size.......: 8

8

SQLLEN Size........: 8

9

SQLSETPOSIROW Size.: 8

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(配置连接)

01

[mysql]

02

Description = The Database for mysql

03

Trace = On

04

TraceFile = stderr

05

Driver = mysql

06

SERVER = 192.168.1.xxx

07

USER = root

08

PASSWORD = root

09

PORT = 3306

10

DATABASE = test

最后测试:

1

#isql  mysql

2

+---------------------------------------+

3

| Connected!                            |

4

|                                       |

5

| sql-statement                         |

6

| help [tablename]                      |

7

| quit                                  |

8

|                                       |

9

+---------------------------------------+

在这里面可以做查询,删除,插入等操作。配合终端可以验证是否会乱码。

utf8乱码问题,需要指定对应的字符

charset = utf8

 

采用yum方式安装的话就比较简单了。

yum -y install unixODBC unixODBC-devel  mysql-connector-odbc

然后编写/etc/odbcinsc.ini(参照上面文件)

转载自: