數據庫是常見的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>