我在我的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异常,但它给了我很多不相关的结果。我还没有尝试调试(断点等)。
有关从哪里开始的任何建议?
答案 0 :(得分:0)
我已将ubuntu 14升级到ubuntu 16.04并且问题已解决。在使用Postgres 9.3时,它看起来像unixODBC 2.24中的一些错误。