unixodbc mysql_unixodbc 连接mysql数据库

之前的odbc连接一直使用windows下的,配置都很简单,现在换成linux平台,odbc的迁移就成了一个问题。整理下安装及配置过程。

1:先安装unixodbc  --建议用源码

点击(此处)折叠或打开

./configure --prefix=/usr/local/unixODBC --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc

make

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 有些包会冲突。点击(此处)折叠或打开

tar zxvf mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz

cd mysql-connector-odbc-5.1.11-linux-el6-x86-64bit\lib

cp libmyodbc5.so /usr/local/lib

cd ../

cd bin

./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(配置驱动)

点击(此处)折叠或打开

[mysql]

Driver=/usr/local/lib/libmyodbc5.so

SETUP=/usr/local/lib/libmyodbc5.so

UsageCount=1

odbc.ini(配置连接)

点击(此处)折叠或打开

[mysql]

Description = The Database for mysql

Trace = On

TraceFile = stderr

Driver = mysql

SERVER = 192.168.1.229

USER = roam

PASSWORD = wd_roam

PORT = 3306

DATABASE = roam_t

charset = UTF8

option = 3

最后测试:

isql  mysql

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

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

charset = utf8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值