1. 程式人生 > >QT連線接Oracle資料庫大盤點

QT連線接Oracle資料庫大盤點

   最近幾天,由於專案需要涉及到利用QT將oracle資料庫連線起來,進行資料查詢,原本以為很簡單,但照著網上資料進行操作,各種方法試,弄了兩天才弄好,中途各種鬱悶,各種草泥馬,但最後調通的那一刻卻還是有點小激動,在這裡為了以後的學習者,能夠輕鬆解決此類問題,我將所查資料進行了一個整理以及相關知識介紹!(我以windows平臺開發為例!)

  在QT連oracle中需要注意以下幾點,這位你編譯QOCI檔案不出問題打好基礎:1.在下載QT時會遇到下載多少位的QT以及下載什麼樣的編譯環境的QT,通常下載位數需要與你連得Oracle位數一樣否則編譯QOCI時會一直報錯。通常下載的QT的編譯環境有MinGW 和VS環境,這兩種環境都可以,不過不同的編譯環境後期編譯QOCI的方式不一樣!

這裡還與大家分享一篇帖子講的是不同平臺連線資料庫時大多有兩種訪問方式,即ADO和ODBC,這篇帖子講其區別,講的還不錯,大家有有興趣可以看看:http://blog.csdn.net/mythic_y/article/details/6019758

  關於具體怎麼編譯QOCI,大家可以參考這篇帖子http://blog.csdn.net/ac_huang/article/details/36477039#t2  

  這篇帖子寫的比較詳細需要注意的是在目錄下的oci.pro進行一定的修改,修改如下,要注意路徑要跟著自己實際情況改,同時他寫的是MinGW環境下編譯QOCI,在VS環境下編譯大致與上述一樣,只是在最後執行mingw32-make的時候會報錯,說不存在此命令,這是由於你是VS環境而不是MinGW環境所致,此時不用慌,只需要按如下操作就可以編譯了,選擇

中的Visual Studio Tools,會彈出選擇VS2013 X64本機工具命令符輸入命令

cd D:\Qt\Qt5.3.1\5.3\Src\qtbase\src\plugins\sqldrivers\oci(此為你的oci.pro所在路徑,自己根據自己實際情況書寫),然後輸入nmake命令就可以了,後面的操作就與上述部落格的操作一致(注意只需要複製qsqloci.dll、qsqlocid.dll就可以了),此時有可能按上述部落格的方法測試是否連線Oracle資料庫成功時,可能仍然會出現無法找到 #include <QSqlDatabase>的錯誤,此時需要的操作是在 搜素oci.dll檔案,然後將其路徑新增到環境變數中,這裡具體怎麼新增環境變數我就不做介紹,網上很多,

環境變數是包含關於系統及當前登入使用者的環境資訊的字串,一些軟體程式使用此資訊確定在何處放置檔案(如臨時檔案),因此添加了環境變數之後,需要重新啟動電腦才會生效,因此重啟電腦後再進行上述部落格測試,測試可能還會報錯,此時只需要開啟你的sql_test.pro加入一句話即QT+=sql,儲存之後再編譯,應該可以大功告成,祝各位好運!希望我幾天看部落格和測試所得能對大家有幫助!最後希望大家,遇到問題不要怕,只要肯下功夫,很多問題是可以解決的!