Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用4D ODBC驱动程序的异常#_C#_Odbc_4d Database - Fatal编程技术网

C# 在C中使用4D ODBC驱动程序的异常#

C# 在C中使用4D ODBC驱动程序的异常#,c#,odbc,4d-database,C#,Odbc,4d Database,我有一个4D数据库,我正试图使用他们的ODBC驱动程序从中获取数据(并导出到SQL DB) 大多数表格我都能看懂,所以我知道驱动程序工作正常 但是我有5个表,它们在OdbcDataAdapter的Fill方法中抛出4个不同的异常 包含空消息的异常 重复列异常(在文档OdbcDataAdapter中,填充应该能够克服此问题) 错误[S1000][Simba][Simba ODBC驱动程序][Codebase文件库] 试图读取或写入受保护的内存 我正在阅读MS文档,但我没有4D文档 我希望在座的有经

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

大多数表格我都能看懂,所以我知道驱动程序工作正常

但是我有5个表,它们在OdbcDataAdapter的Fill方法中抛出4个不同的异常

  • 包含空消息的异常
  • 重复列异常(在文档OdbcDataAdapter中,填充应该能够克服此问题)
  • 错误[S1000][Simba][Simba ODBC驱动程序][Codebase文件库]
  • 试图读取或写入受保护的内存
  • 我正在阅读MS文档,但我没有4D文档

    我希望在座的有经验的人能为我指明正确的方向


    提前感谢。

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

    但您可以做的一件事是将select语句中的字段强制转换为VARCHAR到4D

    比如:


    您使用的是哪个版本的驱动程序?我一直在使用12.02,但我知道有更新的版本修复了一些错误,我只是不知道如何找到它们。

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

    具体来说,它需要强类型铸造。IE
    CAST(1为布尔值)
    用于布尔值

    除了blob,4D还具有特定的数据类型picture。请参阅下面的链接

    列出包含模式信息的所有4D系统表

    在尝试读取image类型的字段时,可能会出现错误[S1000][Simba][Simba ODBC Driver][Codebase File Library]异常,尽管我仍然无法找到原因。只是为了向任何有同样问题的人提供信息。
    SELECT Field1, Field2, CAST(ProblemField AS VARCHAR) FROM MyTable