QT連線PostgreSQL步驟

2021-06-16 21:30:29 字數 1281 閱讀 4719

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中的自連線查詢是一種比較特殊的多表查詢方式,其特殊之處就在於資料 於同一張表。很多時候我們在第一次接觸自連線查詢時會比較迷亂,不知道怎麼去理解。所以我們在處理這種自連線查詢時,不要去刻意的在意只有一張表,而是把這張 表當作乙個檢視,我們需要查資料,就給其取乙個別名,這樣就刻意把之前的表認為...