ecpg-library.md 1.7 KB
Newer Older
李少辉-开发者's avatar
李少辉-开发者 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
## 36.11.图书馆职能

这个`libecpg`库主要包含“隐藏”函数,用于实现嵌入式SQL命令所表示的功能。但是有些函数可以直接调用。请注意,这会使代码不可移植。

-   `ECPGdebug(int)*`在…上`*,存档**`流动`*)`如果使用第一个参数非零调用,则打开调试日志记录。调试日志记录是在*`流动`*。日志包含插入了所有输入变量的所有SQL语句,以及来自PostgreSQL server的结果。这在搜索SQL语句中的错误时非常有用。

    ### 笔记

    在Windows上,如果ecpg库和应用程序使用不同的标志编译,此函数调用将使应用程序崩溃,因为`文件`指针不同。具体来说,对于库和使用该库的所有应用程序,多线程/单线程、发布/调试和静态/动态标志应该相同。

-   `ECPGget_PGconn(常量字符**`连接名称`*)`返回由给定名称标识的库数据库连接句柄。如果*`连接名称`*即将`无效的`,则返回当前连接句柄。如果无法识别连接句柄,则函数返回`无效的`。如有必要,返回的连接句柄可用于从libpq调用任何其他函数。

    ### 笔记

    用libpq例程直接操作由ecpg生成的数据库连接句柄是个坏主意。

-   `ECPGtransactionStatus(常量字符**`连接名称`*)`返回由标识的给定连接的当前事务状态*`连接名称`*看见[第34.2节](libpq-status.html)还有libpq的[`交易状态`](libpq-status.html#LIBPQ-PQTRANSACTIONSTATUS)有关返回的状态代码的详细信息。

-   `ECPGstatus(int)*`莱恩诺`*,const char**`连接名称`*)`如果连接到数据库,则返回true,否则返回false。*`连接名称`*可以是`无效的`如果正在使用单个连接。