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
返回是否已连接到数据库(如果是则为 true,否则为 false)。如果正在使用单个连接,则 lineno
, const char* connection_name
)connection_name
可以是 NULL
。