程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Linux下otl調用MySQL數據庫

Linux下otl調用MySQL數據庫

編輯:MySQL綜合教程

整體流程結構

otl用頭文件otlv4.h來聲明接口,具體實現在linux下是由unixODBC來實現;通過FreeTDS驅動最終調用MySQL的DBMS(個人觀點)

要安裝的軟件及步驟

所以要安裝的有unixODBC,FreeTDS

具體安裝參考:http://wenku.baidu.com/view/89e9e711a2161479171128de.html(此文章裡面的設置有問題,參考本文中的“關於odbcinst.ini和odbc.ini的說明一節”)

關於odbcinst.ini和odbc.ini的說明

參考:http://blog.chinaunix.net/uid-7240278-id-131816.html 這篇文章中提到了默認的odbcinst.ini的位置在/usr/local/etc,這是在安裝unixODBC是產生的,可以通過odbcinst -j指令來查看其具體位置

However since beta 1.6 the location of the system files odbcinst.ini and odbc.ini are determined by the configure script. The default location is /usr/local/etc, and if a prefix is specified the location is {prefix}/etc. The location of the etc path can be broken out of the normal prefix tree by specifing --sysconfdir=DIR, so the following will expect the system files to be in the same location as pre 1.6 builds.

./configure --sysconfdir=/etc

這時候會出現用otl的C++代碼去連接DNS可能會出現:

[unixODBC][Driver Manager]Data source name not found, and no default driver specified

按照:http://bbs.chinaunix.net/thread-588178-1-1.html的說法,是因為新版本的unixODBC默認目錄在/usr/local/etc裡面,而原來可能安裝了一個老版本的,那個版本的odbc.ini等在/etc下面,而你配置的odbcinst其實在/usr/local/etc裡面,你用命令行連接成功的也是這個裡面的配置給你提供的。所以要把這裡面的配置文件覆蓋到/etc裡面替換老的odbc.ini等。

這時候就可以執行你寫的C++程序了

我還看過一篇文章,講修改系統環境變量,讓新的/usr/local/etc作為unixODBC使用的環境變量目錄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved