2

我有一个 4D 数据库,我正在尝试使用他们的 ODBC 驱动程序从中获取数据(并导出到 SQL DB)。

我可以阅读大多数表格,因此我知道驱动程序可以正常工作。

但我有 5 个表在 OdbcDataAdapter 的 Fill 方法中引发 4 个不同的异常。

  1. 带有空消息的异常
  2. 重复列异常(在文档中 OdbcDataAdapter Fill 应该能够克服这个问题)
  3. 错误 [S1000] [Simba][Simba ODBC 驱动程序][代码库文件库]
  4. 尝试读取或写入受保护的内存

我正在阅读 MS 文档,但我无权访问 4D 文档。

我希望这里有人对这种情况有一些经验,可以为我指明正确的方向。

提前致谢。

4

2 回答 2

1

4D 中的某些数据类型会导致问题。例如,我知道 blob、interval 和 int64 可能会很麻烦。

您可以做的事情是在您的选择语句中将字段转换为 VARCHAR 到 4D。

喜欢:

SELECT Field1, Field2, CAST(ProblemField AS VARCHAR) FROM MyTable

您使用的是什么版本的驱动程序?我一直在使用 12.02,但我知道有更新的版本修复了一些错误,我只是不确定如何获得它们。

于 2013-01-20T17:18:58.407 回答
0

我同意 4D ODBC 驱动程序非常特别。

具体来说,它需要强类型转换。IECAST(1 as boolean)用于布尔值。

除了 blob 之外,4D 还具有特定的数据类型图片。请参阅以下链接

http://docs.4d.com/4Dv14R4/4D/14-R4/Principles-for-integrating-4D-and-the-4D-SQL-engine.300-1733038.en.html

列出所有具有架构信息的 4D 系统表 http://docs.4d.com/4Dv14R4/4D/14-R4/System-Tables.300-1733035.en.html

于 2014-12-23T14:05:17.413 回答