On this page
35.11. 库功能
libecpg
库主要包含“隐藏”功能,这些功能用于实现嵌入式 SQL 命令表示的功能。但是有些功能可以直接调用,很有用。请注意,这使您的代码不可移植。
- 如果第一个参数不为零,则
ECPGdebug(int on, FILE *stream)
打开调试日志记录。调试日志记录是在*stream
*上完成的。该日志包含插入了所有 Importing 变量的所有 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 33.2和 libpq 的PQtransactionStatus()
。如果您已连接到数据库,
ECPGstatus(int lineno, const char* connection_name)
返回 true,否则返回 false。如果使用单个连接,则connection_name
*可以是NULL
。