Linux下Mysql_odbc的安裝配置及OTL的使用

數據庫是常見的mysql數據庫,數據庫訪問接口我選擇了ODBC-OTL進行連接。因爲我也是第一次實際使用OTL操作,曾經對於ODBC的配置等等都是運維人員進行安裝配置,如今自己配置就碰上了很大的阻礙。求助度娘、谷歌上的文章進行配置,發現大多內容相同而且無效。如今終於參透了配置方法,放在網上幫助新接觸ODBC的同學們少走彎路。

ODBC的配置

第一步:下載必要的軟件包

這一步是必須的,要安裝ODBC要下的安裝包有:

unixODBC-2.3.4.tar.gz
mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit.tar.gz
  • 1
  • 2

安裝包的版本沒有太多的要求,只需要這兩個就ok,unixODBC是ODBC軟件的安裝包,mysql-connector-odbc是mysql連接odbc的插件安裝包,官網就可以下載。

第二部:解壓安裝包進行安裝

熟悉Linux系統的各位應該都能很熟練的操作了,此處粘貼我的操作步驟吧:

unixODBC的安裝:

# tar -zxvf unixODBC-2.3.4.tar.gz
# cd unixODBC-2.3.4
# ./configure --prefix=/usr/local/unixODBC-2.3.4 --includedir=/usr/include --libdir=/usr/lib64 -bindir=/usr/bin --sysconfdir=/etc
# make
# sudo make install
  • 1
  • 2
  • 3
  • 4
  • 5

mysql-connector-odbc的安裝:

# tar -zxvf mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit.tar.gz
# cd mysql-connector-odbc-5.1.12-linux-debian6.0-x86-64bit/lib
# cp ./*.* /usr/lib64
  • 1
  • 2
  • 3

在配置mysql-connector-odbc還有一步非常重要,我在這一步卡了很長時間,我針對我的安裝包版本進行簡要說明,請大家在使用時根據實際情況進行相對的調整。在mysql-connector-odbc 5.1之後的版本中只需要把libmyodbc.so文件複製過去就可以了,如果連接不成功需要添加一步操作:

./myodbc-installer -d -a -n "MYSQL" -t "DRIVER=/usr/lib64/libmyodbc5.so;SETUP=/usr/lib64/libmyodbc5.so"  
  • 1

執行之後會報錯提示缺少文件:libodbc.so.1和libodbcinst.so.1,只需要操作:

cp /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so.1
cp /usr/lib64/libodbcinst.so.2 /usr/lib64/libodbcinst.so.1
  • 1
  • 2

再次執行上面的指令就會提示:Success: Usage count is 1 ,到此安裝就OK了

第三步:配置文件

安裝好odbc之後就是寫相關配置文件了,配置文件自動生成在/etc/目錄下,分別是:odbc.ini 和 odbcinst.ini ;odbc.ini需要寫的是將要連接的數據庫信息和連接驅動,odbcinst.ini需要寫的是odbc驅動所需要鏈接的庫,下文寫下我的小例子:

odbc.ini:
[test]
Description = THE Database for test
Trace = On
TraceFile = staderr
Driver = mysql
SERVER = 192.168.1.1
USER = test
PASSWORD = test123456
PORT = 3306
DATABASE = testdata
charset = UTF8
option = 3

odbcinst.ini
[MYSQL]
Driver=/usr/lib64/libmyodbc5.so
SETUP=/usr/lib64/libmyodbc5.so
UsageCount=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

然後執行isql -v test出現如下內容:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

好了,有關mysql-odbc的安裝配置終於是完成,成功進入了想連接的數據庫了!

OTL的使用

配置好ODBC就進入到使用環節了。此部分內容可以自行度娘,網上有很多相關文章,也可以再繼續看下去:
對於OTL我就不過多介紹了,簡單來說,就是一個封裝好的操作數據庫的可操作的庫。只需要下載一個otlv4.h的頭文件即可,有官方網站可以提供下載。
操作也比較簡單,下面我放上我一小段代碼提供參考:

#if defined(_MSC_VER) && (_MSC_VER >= 1900)
#define _ALLOW_RTCc_IN_STL
#endif

#include <iostream>
using namespace std;

#define OTL_ODBC_MSSQL_2008//這個宏定義要在包含otlv4前
#include <otlv4.h>//將otlv4.h複製到/usr/local/include中

int main()
{
    otl_connect m_db;//連接對象
    otl_connect::otl_initialize();//連接初始化
    m_db.rlogon("DSN=test");//我在連接odbc上卡了很久,DSN指定連接那個配置好的odbc.ini

    char test_buf[1024] = { 0 };
    int test_num = 0;
    //查詢數據庫
    try
    {
        otl_stream select_info(50, "select * from test", m_db);
        while(!select_info.eof())
        {
            select_info >> test_buf >> test_num;//按照查詢順序與類型依次傳入
        }
    }   
    catch(otl_exception &p)
    {
        cout << p.msg;//異常情況
    }

    cout << "test_buf : " << test_buf << "test_num" << test_num << endl;

    m_db.logoff();//關閉數據庫

    return 0; 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

好了,使用OTL_ODBC連接mysql數據庫進行操作到這裏就完成了,希望本篇文章能幫到大家,如有疑問請私信,謝謝

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章