转自:https://blog.51cto.com/dreamylights/1321678
1. 需要的包
unixODBC源码包unixODBC-2.2.14.tar.gz
mysql 驱动 mysql-connector-odbc-5.1.13-linux-glibc2.5-x86-32bit
以下配置要求root用户
2. 安装unixODBC
(注意要进入文件安装目录下解压)
解压
tar xzf unixODBC-2.2.14.tar.gz
进入解压目录
cd unixODBC-2.2.14
配置
./configure --enable-gui=no
编译
make
安装
make install
3. 安装freetds
解压
tar xzf freetds-0.64.tar.gz
进入解压目录
cd freetds-0.64
配置
./configure--with-tdsver=8.0 --enable-msdblib --with-unixodbc=/usr/local
编译
make
安装
make install
4. 安装MySql驱动
到如下地址 http://dev.mysql.com/downloads/connector/odbc/5.1.html 下载mysql的ODBC驱动,然后安装
tar zxvf mysql-connector-odbc-5.1.13-linux-glibc2.5-x86-32bit.tar.gz
cd mysql-connector-odbc-5.1.13-linux-glibc2.5-x86-32bit
把该目录下所有的文件拷贝到系统库目录下
cp lib/* /usr/lib
5. 配置 unixODBC
5.1添加MySql驱动
(注意要在root用户,ect目录下)
vi etc/odbcinst.ini
写入如下内容
[MySQL] Description = MySQL driver Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so CPTimeout = CPReuse =
保存退出
注:也可通过sudo gedit odbcinst.ini命令编辑文件。
注意libmyodbc(mysql的odbc驱动)是否安装。没有的话通过apt-get install libmyodbc命令完成。
注意libmyodbc.so,libodbcmyS.so(libmyodbc的库文件)的路径。
5.2添加DSN
vi etc/odbc.ini
写入如下内容
[myodbc] Driver = MySQL SERVER = localhost PORT = 3306 USER = root Password = yang Database = shanling OPTION = 3 SOCKET =
注意Driver驱动要写odbcinst.ini中的驱动名称,Database是数据库的名称,然后保存并退出;测试ODBC的连接
root@ubuntu:/etc# isql myodbc root yang -v
会显示如下信息
—————————————————————
| Connected! | | | | sql-statement | | help [tablename] | | quit| SQL> show tables; +-----------------------------------------------------------------+ | Tables_in_shanling | +-----------------------------------------------------------------+ | fileinfo | | useinfo | +-----------------------------------------------------------------+ SQLRowCount returns 2 2 rows fetched SQL> select * from fileinfo; +-----------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+---------------------------------------------------+ | seq | filename | userinformation | filenum | totalsize | +-----------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+---------------------------------------------------+ +-----------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+---------------------------------------------------+ SQLRowCount returns 0 SQL>
测试通过;下面就可以使用freetds的api开发连接MySql数据库的程序了,可以使用c、c++编写。
常见的odbc配置报错,参考:https://www.cnblogs.com/fnlingnzb-learner/p/5881755.html