33.11. 库函数
libecpg
库主要包含"隐藏的"函数, 它用于实现嵌入SQL命令表达的功能。但是有一些可以直接调用的函数。 注意这使得您的代码可移植。
如果调用第一个非零参数,
ECPGdebug(int
on, FILE *
stream)
打开调试日志。 调试日志在_stream_
上执行。 日志包含带有插入的所有输入变量的SQL语句,以及 来自PostgreSQL服务器的结果。 当搜索SQL语句中的错误时,这是非常有用的。> Note: 在Windows上,如果ecpg库和应用程序是以不同标识被编译,那么 该函数调用将崩溃,因为
FILE
指针内部表示形式不同。 特别是,多线程/单线程,释放/调试,以及静态/动态信号 对于该库以及使用该库的所有应用程序是一样的。ECPGget_PGconn(const char *
connection_name)
返回由给定名称标识的数据库连接句柄。 如果_connection_name_
设置为NULL
, 则返回当前连接句柄。如果没有连接句柄可以被识别, 则该函数返回NULL
。如果必要的话,返回的连接句柄可以用于 从libpq调用任何其他函数。> Note: 操作随着libpq例程由ecpg直接组成的数据库连接句柄是个坏主意。
ECPGtransactionStatus(const char *
connection_name)
返回通过_connection_name_
标识的给定连接的当前事务状态。 参阅Section 31.2和libpq的PQtransactionStatus()
获取关于返回状态码的详细信息。如果你连接到一个数据库,则
ECPGstatus(int
lineno, const char*
connection_name)
返回真,否则返回假。 如果正在使用一个连接,则_connection_name_
是NULL
。