2024 年 9 月 26 日: PostgreSQL 17 已发布!
支持的版本: 当前版本 (17) / 16 / 15 / 14 / 13 / 12
开发版本: devel
不受支持的版本: 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

提交更正

如果您在文档中发现任何不正确、与您使用特定功能时的体验不符或需要进一步澄清之处,请使用 此表格 报告文档问题。