使用POCO ODBC时出现SQLCloseCursor异常

时间:2016-06-25 14:19:50

标签: postgresql ubuntu odbc poco-libraries unixodbc

我在我的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;

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

有关从哪里开始的任何建议?

1 个答案:

答案 0 :(得分:0)

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