1

我正在尝试通过 unixODBC 和 freetds 使用 hdbc-odbc 连接到 Sybase 数据库。以下几行应该打开一个连接,准备一个查询,执行它并断开连接。

  conn <- connectODBC connectionString
  statement <- prepare conn $ queryString query
  execute statement []
  dataSet <- fetchAllRowsMap' statement
  disconnect conn
  return dataSet

结果是,然而SqlError {seState = "[]", seNativeError = -2, seErrorMsg = "SQLRowCount: []"}

然而,以下代码有效:

  conn <- connectODBC connectionString
  statement <- prepare conn $ queryString query
  execute statement []
  dataSet <- trace "Test" seq conn fetchAllRowsMap' statement
  disconnect conn
  return dataSet

重要的是,单独添加单独添加无济于事。目前,结果将与没有其中任何一个的结果相同,但昨天遗漏仍然会导致两个后续查询之一成功,另一个产生与上述相同的错误。但是保持稳定的是上面的第一个代码片段不工作,而第二个工作。seq conntrace "Test"trace "Test"

使用 PHP 或 isql,我没有遇到此类问题,这似乎表明问题至少部分出在 HDBC 方面。此外,使用trace可以系统地在获得结果和没有获得结果之间产生差异,这绝对是不受欢迎的行为。

有没有人熟悉这种问题或有预感可能是什么原因?到目前为止,搜索网络和 SO 根本没有帮助。

4

0 回答 0