2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3

34.11. 庫函式 #

libecpg 庫主要包含用於實現嵌入式 SQL 命令所表達功能的隱藏函式。但也有一些函式可以直接呼叫,很有用。請注意,這樣做會使您的程式碼不可移植。

  • ECPGdebug(int on, FILE *stream) 如果第一個引數非零,則開啟除錯日誌記錄。除錯日誌記錄將在 stream 上進行。日誌將包含所有SQL語句,以及所有插入的輸入變數,以及來自PostgreSQL 伺服器的結果。這對於查詢語句中的錯誤可能非常有用。SQL語句。

    注意

    在 Windows 上,如果 ecpg 庫和應用程式使用了不同的標誌進行編譯,則此函式呼叫將導致應用程式崩潰,因為 FILE 指標的內部表示不同。具體來說,多執行緒/單執行緒、釋出/除錯和靜態/動態標誌應該與庫和使用該庫的所有應用程式相同。

  • ECPGget_PGconn(const char *connection_name) 返回由給定名稱標識的庫資料庫連線控制代碼。如果 connection_name 設定為 NULL,則返回當前連線控制代碼。如果無法識別連線控制代碼,則函式返回 NULL。返回的連線控制代碼可以用於呼叫 libpq 的任何其他函式(如有必要)。

    注意

    不建議直接使用 libpq 例程來操作從 ecpg 建立的資料庫連線控制代碼。

  • ECPGtransactionStatus(const char *connection_name) 返回由 connection_name 標識的給定連線的當前事務狀態。有關返回的狀態碼的詳細資訊,請參見第 32.2 節以及 libpq 的PQtransactionStatus

  • ECPGstatus(int lineno, const char* connection_name) 如果連線到資料庫,則返回 true;否則返回 false。如果正在使用單個連線,則 connection_name 可以為 NULL

提交更正

如果您在文件中發現任何不正確、與您對特定功能的實際使用不符或需要進一步澄清的內容,請使用此表單報告文件問題。