问题标签 [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.

0 投票
1 回答
2680 浏览

c++ - libpqxx 结束准备好的语句和结果

我将通过 libpqxx 和 C++ 创建到 Postgresql 数据库的连接,然后执行几个准备好的语句,这些语句返回结果(我将遍历它们)。我来自Java背景,过程是:

  1. 打开数据库连接
  2. 准备报表
  3. 调整准备好的语句参数
  4. 执行语句
  5. 遍历结果集
  6. 关闭结果集
  7. 关闭准备好的语句
  8. 关闭数据库连接

我有 1-5 和 8 的示例代码,但我找不到如何关闭结果对象和准备好的语句对象

示例代码:

我是否需要使用 c++ 和 libpqxx 显式关闭结果和准备好的语句以避免内存泄漏?提前致谢

0 投票
1 回答
1464 浏览

c++ - Libpqxx 抱怨缺少引用

所以我有以下问题:

而且我无法弄清楚为什么它找不到参考,因为我安装了 libpq 并且它就在 /usr/lib64 中

所以如果我能得到任何帮助,那就太好了

0 投票
1 回答
655 浏览

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。”

可能你知道我做错了什么吗?

0 投票
1 回答
237 浏览

c++ - libpqxx 在 DEBUG 模式下抛出异常

我有一个使用 libpqxx的MFC项目。所有设置均为默认设置。

发布模式按我的预期正常工作。但是当我切换到调试模式时,它显示一个异常并说调试断言:

最有趣的是,如果我使用共享 DLL 而不是静态(当然是在调试中)它可以工作!

基本上,使用静态库进行调试会显示此异常/错误。如果我切换到共享 DLL,它会再次工作。当然我可以使用共享作为调试和静态作为发布,但这是正确的吗?

注意:这个项目是基础和新鲜的。我没有从配置管理器更改任何配置。

有什么建议吗?

0 投票
2 回答
1452 浏览

c - 在 C 中连接到 Postgres 数据库时出错 - 使用 libpq-fe.h

嘿,我正在尝试使用 postgres 连接到数据库

我不断收到这个编译错误:

谁能明白为什么会这样?

谢谢。

0 投票
5 回答
17469 浏览

c++ - 如何使用 C++ libpqxx API 将二进制数据插入 PostgreSQL BYTEA 列?

我想在 BYTEA 列中插入一些二进制数据,但我发现 Doxygen 输出缺乏详细信息,并且http://pqxx.org/过去几天一直处于关闭状态。

我将如何将 somefile.bin 的内容插入到具有 BYTEA 列的表中?

我所拥有的是这些方面:

如果有什么不同,我想使用hexPostgreSQL 9.1 中可用的 BYTEA 新格式。

0 投票
3 回答
1730 浏览

c++ - 如何使用 libpqxx 中的 pqxx::stateless_cursor 类?

我正在学习 libpqxx,这是 PostgreSQL 的 C++ API。我想使用 pqxx::stateless_cursor 类,但是 1) 我发现 Doxygen 输出在这种情况下没有帮助,2) pqxx.org 网站已经关闭了一段时间。

有谁知道如何使用它?

我相信这就是我构建的方式:

最后两个参数称为cnameand hold,但没有记录。

一旦创建了游标,我将如何在 for() 循环中使用它来获取每一行,一次一个?

0 投票
1 回答
1246 浏览

postgresql - 多表请求中的 pqxx 列名

这个问题特定于libpqxx

给定如下 SQL 语句:

并将其发送到 pqxx 事务:

结果字段中的列将具有什么名称?

换句话说,假设选择了 1 行:

FOO_COLUMN 和 BAR_COLUMN 应该有什么值?它们会分别是“a.foo”和“b.bar”吗?

如果 SQL 语句使用“as”关键字重命名变量,那么我想列名将是任何“as”设置,对吗?

通常我会尝试使用 SQL 并打印列值,但由于我正在开发软件和数据库本身,所以现在进行该测试并不容易。

谢谢!

0 投票
2 回答
4349 浏览

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 的一部分。

我对这个平台很陌生,所以我避免使用终端来编译代码。任何帮助将不胜感激。

0 投票
3 回答
2562 浏览

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 比继续调查这个内存泄漏更容易。