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

提交更正

如果您在文档中发现任何不正确、与您对特定功能的实际使用不符或需要进一步澄清的内容,请使用此表单报告文档问题。