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(参照上面文件)
转载自: