ubuntu12下安装unixODBC(mysql)

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

原文地址:https://www.cnblogs.com/mrcln/p/10820876.html