问题标签 [libpqxx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - libpqxx 结束准备好的语句和结果
我将通过 libpqxx 和 C++ 创建到 Postgresql 数据库的连接,然后执行几个准备好的语句,这些语句返回结果(我将遍历它们)。我来自Java背景,过程是:
- 打开数据库连接
- 准备报表
- 调整准备好的语句参数
- 执行语句
- 遍历结果集
- 关闭结果集
- 关闭准备好的语句
- 关闭数据库连接
我有 1-5 和 8 的示例代码,但我找不到如何关闭结果对象和准备好的语句对象
示例代码:
我是否需要使用 c++ 和 libpqxx 显式关闭结果和准备好的语句以避免内存泄漏?提前致谢
c++ - Libpqxx 抱怨缺少引用
所以我有以下问题:
而且我无法弄清楚为什么它找不到参考,因为我安装了 libpq 并且它就在 /usr/lib64 中
所以如果我能得到任何帮助,那就太好了
c++ - Visual Studio 2008 x64 下的 libpqxx
这里有人在 Visual Studio 2008 x64 下构建 libpqxx 吗?我已经建立了它。使用 libpqxx_staticD.lib 调试工作正常,但使用 libpqxx_static.lib 发布失败
pqxx::connection conn(...);
调用堆栈:
错误信息:
“postgres.exe 中 0x000000013f0612e0 处未处理的异常:0xC0000005:访问冲突写入位置 0x0000000077225418。”
可能你知道我做错了什么吗?
c++ - libpqxx 在 DEBUG 模式下抛出异常
我有一个使用 libpqxx的MFC项目。所有设置均为默认设置。
发布模式按我的预期正常工作。但是当我切换到调试模式时,它显示一个异常并说调试断言:
最有趣的是,如果我使用共享 DLL 而不是静态(当然是在调试中)它可以工作!
基本上,使用静态库进行调试会显示此异常/错误。如果我切换到共享 DLL,它会再次工作。当然我可以使用共享作为调试和静态作为发布,但这是正确的吗?
注意:这个项目是基础和新鲜的。我没有从配置管理器更改任何配置。
有什么建议吗?
c - 在 C 中连接到 Postgres 数据库时出错 - 使用 libpq-fe.h
嘿,我正在尝试使用 postgres 连接到数据库
我不断收到这个编译错误:
谁能明白为什么会这样?
谢谢。
c++ - 如何使用 C++ libpqxx API 将二进制数据插入 PostgreSQL BYTEA 列?
我想在 BYTEA 列中插入一些二进制数据,但我发现 Doxygen 输出缺乏详细信息,并且http://pqxx.org/过去几天一直处于关闭状态。
我将如何将 somefile.bin 的内容插入到具有 BYTEA 列的表中?
我所拥有的是这些方面:
如果有什么不同,我想使用hex
PostgreSQL 9.1 中可用的 BYTEA 新格式。
c++ - 如何使用 libpqxx 中的 pqxx::stateless_cursor 类?
我正在学习 libpqxx,这是 PostgreSQL 的 C++ API。我想使用 pqxx::stateless_cursor 类,但是 1) 我发现 Doxygen 输出在这种情况下没有帮助,2) pqxx.org 网站已经关闭了一段时间。
有谁知道如何使用它?
我相信这就是我构建的方式:
最后两个参数称为cname
and hold
,但没有记录。
一旦创建了游标,我将如何在 for() 循环中使用它来获取每一行,一次一个?
postgresql - 多表请求中的 pqxx 列名
这个问题特定于libpqxx。
给定如下 SQL 语句:
并将其发送到 pqxx 事务:
结果字段中的列将具有什么名称?
换句话说,假设选择了 1 行:
FOO_COLUMN 和 BAR_COLUMN 应该有什么值?它们会分别是“a.foo”和“b.bar”吗?
如果 SQL 语句使用“as”关键字重命名变量,那么我想列名将是任何“as”设置,对吗?
通常我会尝试使用 SQL 并打印列值,但由于我正在开发软件和数据库本身,所以现在进行该测试并不容易。
谢谢!
c++ - 使用 pqxx (postgres) 的简单 C++ 程序
我正在使用 Code::Blocks 尝试一个非常基本的 C++ 程序。我在 Ubuntu 12.04 上并从软件管理器安装了 pqxx。这是代码。
但是我在按 F9 编译和运行时收到以下错误:
/usr/include/pqxx/connection.hxx|87|未定义对 `pqxx::connectionpolicy::connectionpolicy(std::basic_string, std::allocator > const&)' 的引用
上面的消息来自文件 connection.hxx,突出显示的行是:
connection.hxx 文件不是我的——我认为它是 pqxx 的一部分。
我对这个平台很陌生,所以我避免使用终端来编译代码。任何帮助将不胜感激。
c++ - 为什么这个简单的 libpqxx 代码会泄漏内存?
最近我写了一个通过 libpqxx 访问 Postgres DB 的应用程序,它严重地泄漏了内存。即使是这个基于http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Reference/a00001.html示例的简单测试程序也不会像明天一样泄漏。
(编辑:我添加了对 commit() 和 clear() 的调用以响应建议。同样的泄漏。)
经过大约 75,000 次循环后,top 显示了 206Mb 的虚拟内存使用量,并且还在不断攀升。我通过 valgrind 运行了一个类似的测试程序,循环了 5000 次,得到了这个:
知道发生了什么吗?很难接受像 libpqxx 这样广泛使用的库会有如此严重的错误,那么我在这里可能做错了什么?
配置细节:
- 操作系统:Linux 2.6.18-238.el5
- gcc 版本 4.4.0
- libpqxx 4.0
- postgres 9.2
(最终编辑:我发现用 libpq 替换 libpqxx 比继续调查这个内存泄漏更容易。)