# 36.11.图书馆职能
这个libecpg
库主要包含“隐藏”函数,用于实现嵌入式SQL命令所表示的功能。但是有些函数可以直接调用。请注意,这会使代码不可移植。
ECPGdebug(int)*
在…上*,存档**
流动*)
如果使用第一个参数非零调用,则打开调试日志记录。调试日志记录是在*流动
*。日志包含插入了所有输入变量的所有SQL语句,以及来自PostgreSQL server的结果。这在搜索SQL语句中的错误时非常有用。# 笔记
在Windows上,如果ecpg库和应用程序使用不同的标志编译,此函数调用将使应用程序崩溃,因为
文件
指针不同。具体来说,对于库和使用该库的所有应用程序,多线程/单线程、发布/调试和静态/动态标志应该相同。ECPGget_PGconn(常量字符**
连接名称*)
返回由给定名称标识的库数据库连接句柄。如果*连接名称
*即将无效的
,则返回当前连接句柄。如果无法识别连接句柄,则函数返回无效的
。如有必要,返回的连接句柄可用于从libpq调用任何其他函数。# 笔记
用libpq例程直接操作由ecpg生成的数据库连接句柄是个坏主意。
ECPGtransactionStatus(常量字符**
连接名称*)
返回由标识的给定连接的当前事务状态*连接名称
*看见第34.2节还有libpq的交易状态
有关返回的状态代码的详细信息。ECPGstatus(int)*
莱恩诺*,const char**
连接名称*)
如果连接到数据库,则返回true,否则返回false。*连接名称
*可以是无效的
如果正在使用单个连接。