使用 POCO ODBC 时出现 SQLCloseCursor 异常

SQLCloseCursor exception while working with POCO ODBC

我已经在 Ubuntu PC 上安装了 unixOdbc。 我已经配置了 DSN 'mydsn',它与 isql 一起工作得很好。

> isql mydsn
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> insert into users values('1', 'user', 'password');
SQLRowCount returns 1

说明postgres odbc驱动和数据源安装配置正确。在配置所有内容之前,我无法连接 isql。

如果我试图用 Poco::ODBC 执行相同的语句,它会失败并出现异常。

E [2016-06-25 13:41:48.117] Application  {3}: ODBC handle exception: SQLCloseCursor(): Connection:Not applicable
Server:Not applicable
===========================
ODBC Diagnostic record #1:
===========================
SQLSTATE = 200
Native Error Code = 0
[nxDC[rvrMngrIvldcro tt

这是我的代码

using Poco::Data::ODBC::Connector;
...
Connector::registerConnector();
_pool = new SessionPool(Connector::KEY, "DSN=mydsn;", size, size);
Session session(_pool->get());

session << "insert into users values('2', 'user', 'password');", now;

我尝试 google SQLCloseCursor 异常,但它给了我很多不相关的结果。我还没有尝试调试(断点等)。

有什么从哪里开始的建议吗?

我已将 ubuntu 14 升级到 ubuntu 16.04,问题消失了。在使用 Postgres 9.3 时,它看起来像是 unixODBC 2.24 中的一些错误。