1. 編譯驅動
其次:在qt的src/plugins/sqldriver/psql目錄下修改psql.pro,加入
includepath+="d:\postgresql\9.2\include"
libs+="d:\postgresql\9.2\lib\libpq.lib"(將postgresql對應的目錄加入)
最後:用qt creator或者在qt command prompt下編譯
在qt command prompt下編譯方法:進入pqsl.pro目錄下,qmake,然後nmake
備註:編譯驅動過程中遇到的問題
(1)出現 *.h no such file之類錯誤,原因是沒有將postgresql的目錄新增正確
解決方法:檢視目錄中是否有中文或者空格
(2) 出現
undefined reference to 'pqerrormessage'
之類的錯誤,有2個原因
其一是環境變數中沒有加入postgresql的lib和bin目錄
其二也是最不起眼,但是很2b的原因
qt和postgresql的版本不一致(這裡說的版本是指32位或64位)
(3)在qt command prompt下編譯 出現 nmake或者make不是內部命令
原因是:qt的環境變數設定
解決方法:使用mingw32-make或者找到make的位置將其加入環境變數
備註:一般修改了環境變數需要重新啟動系統
2. 使用驅動
編譯好驅動後,可使用一下**測試驅動是否已經可以使用
qstringlist drivers =
qsqldatabase::drivers();
foreach(qstring
driver,drivers)
qdebug()<
如果出現qpsql7和qpsql,表示驅動已經ok了
備註:一般如果編譯好驅動後,直接使用會出現 driver not load 問題
原因:測試驅動程式裡沒有postgresql的dll
解決方法:將postgresql的bin下的libeay32.dll,libpq.dll,ssleay32.dll,libintl.dll檔案拷貝到程式編譯好的*.exe對應目錄中去
ps:本文是作者在編譯過程中遇到的一些問題以及解決的方法,並不是萬能的。。。所以有遇到新的問題,可以跟作者**。。。qq287701419
PostgreSQL連線問題
近日用postgresql和npgsql寫過程式,由於客戶數量有300多個,所以有的就連線不上了。調整了max connection為500,問題是解決了,可是記憶體使用也是猛漲。差了點資料,估計可通過兩個方面解決一下問題 postgresql的連線池,如pgbouncer 解決方法 1 在連線字串...
nodejs連線postgreSQL資料庫
nodejs連線pg資料庫有兩種方式,一種是直接連線 操作 斷開 還有一種是使用連線池,這種方式可以有效提公升多併發的效率 下邊是使用兩種不同方式的測試 var pgopt require pg 使用連線池 function connectpgwithpool var pgpool new pgop...
PostgreSQL自連線查詢
首先sql中的自連線查詢是一種比較特殊的多表查詢方式,其特殊之處就在於資料 於同一張表。很多時候我們在第一次接觸自連線查詢時會比較迷亂,不知道怎麼去理解。所以我們在處理這種自連線查詢時,不要去刻意的在意只有一張表,而是把這張 表當作乙個檢視,我們需要查資料,就給其取乙個別名,這樣就刻意把之前的表認為...