转自: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