36.11. 库函数#
libecpg
库主要包含用于实现嵌入式 SQL 命令所表达的功能的“隐藏”函数。但有一些函数可以被直接调用。请注意,这会使您的代码不可移植。
ECPGdebug(int
如果第一个参数非零,则在调用时打开调试日志记录。调试日志记录在on
, FILE *stream
)stream
上完成。日志包含所有 语句,其中插入了所有输入变量,以及 PostgreSQL 服务器的结果。在搜索 语句中的错误时,这非常有用。注意
在 Windows 上,如果 ecpg 库和应用程序使用不同的标志进行编译,则此函数调用将使应用程序崩溃,因为
FILE
指针的内部表示形式不同。具体而言,库和使用该库的所有应用程序的多线程/单线程、发布/调试和静态/动态标志应相同。ECPGget_PGconn(const char *
返回由给定名称标识的库数据库连接句柄。如果connection_name
)connection_name
设置为NULL
,则返回当前连接句柄。如果无法识别连接句柄,则该函数返回NULL
。如果需要,可以将返回的连接句柄用于调用 libpq 中的任何其他函数。注意
使用 libpq 例程直接操作由 ecpg 创建的数据库连接句柄是一个坏主意。
ECPGtransactionStatus(const char *
返回由connection_name
)connection_name
标识的给定连接的当前事务状态。有关返回状态代码的详细信息,请参见 第 34.2 节 和 libpq 的PQtransactionStatus
。ECPGstatus(int
如果已连接到数据库,则返回 true,否则返回 false。如果正在使用单个连接,则lineno
, const char*connection_name
)connection_name
可以为NULL
。