FireDAC連線Postgre資料庫出錯

2021-09-28 19:38:58 字數 549 閱讀 6262

悲劇...

firedac連線postgre資料庫, 使用預設的屬性, 一次執行多條sql的時候, 會報"cannot insert multiple commands into a prepared statement"這樣的錯誤

搜啊搜, 大概的意思是, postgre有2種模式 一種是只能執行一句sql, 另外一種是支援多sql批量執行的, 查詢過程就忽略的, 總之是各種猜測

最後發現postgre對於執行模式的介面有2個:pqexec和pqexecparams 這個可以在postgre的幫助文件31.3.1 中找到相關資料

其中pqexec就是支援多個sql同時執行的, 而pqexecparams則是只支援一句sql, 他們的區別在於是否支援sql變數引數值

而firedac預設是使用pqexecparams介面來執行的, 所以就會報那個錯誤, 如果想以pqexec方式執行, 有下面2種方法:

1.fdconnection.execsql

2.設定fdquery.resourceoptions.directexecute := true;

FireDAC如何連線ORACLE資料庫

unidac對oracle的direct連線,不需要安裝oracle客戶端dll,deploy時真的是方便又快捷。firedac連線oracle,在沒有oracle client的情況下,是可以連線上的。前提是需要檔案oci.dll oraocci11.dll oraociei11.dll oras...

FIREDAC記錄SQL日誌

firedac記錄sql日誌 跟蹤sql日誌可以方便開發的時候的程式除錯。sql日誌記錄會耗費服務費資源,正式部署中介軟體的時候,建議關閉sql日誌記錄。firedac通過使用tfdmoniflatfileclientlink控制項來記錄sql日誌的。首先 uses firedac.moni.fla...

FIREDAC欄位型別對映

為什麼需要字段型別對映?作為通用型資料引擎的firedac或者unidac,驅動某一種資料庫以後,總有一些資料庫的一些字段型別,資料引擎不能識別,反應到程式中就是資料引擎不能正確地讀取該字段的值 如何解決?那麼,此時就會要用到資料引擎的字段型別對映,將源字段型別 不識別的型別,對映成資料引擎能識別的...