C# System.Data.ODBC无法从Filemaker数据库C读取数据

C# System.Data.ODBC无法从Filemaker数据库C读取数据,c#,odbc,filemaker,C#,Odbc,Filemaker,您好,谢谢您的阅读。我们有一个Filemaker数据库,我们希望使用System.database.ODBC读取它-我们成功连接,而且,如果我们想更新、删除或插入,它可以使用command.ExecuteOnQuery正常工作。当我们尝试读取数据时,即当我们尝试获取记录集时,问题就会出现。。。我注意到它使用command.ExecuteReader成功地从数据库中读取数据,当它尝试循环遍历列和行时,问题就出现了,特别是当它尝试获取列名、数据类型等时。。。换句话说,元数据 例如,在以下查询中:从A

您好,谢谢您的阅读。我们有一个Filemaker数据库,我们希望使用System.database.ODBC读取它-我们成功连接,而且,如果我们想更新、删除或插入,它可以使用command.ExecuteOnQuery正常工作。当我们尝试读取数据时,即当我们尝试获取记录集时,问题就会出现。。。我注意到它使用command.ExecuteReader成功地从数据库中读取数据,当它尝试循环遍历列和行时,问题就出现了,特别是当它尝试获取列名、数据类型等时。。。换句话说,元数据

例如,在以下查询中:从Account Id=30的Account中选择company,它应该返回一个字段(在本例中为company)和一个记录(30)

当我使用command.ExecuteReader并检查reader.FieldCount时,它会正确返回1,如果我使用reader.HasRows检查行,它会返回true,这就是我如何知道的,它正确接收了数据

现在,如果我尝试通过添加断点来检查reader对象,并且在本例中,ResultView是一个可枚举的,而不是一个可枚举的,我发现一个错误,如下所示:

检查完整的StackTrace这是我得到的

at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) at System.Data.Odbc.OdbcDataReader.GetColAttributeStr(Int32 i, SQL_DESC v3FieldId, SQL_COLUMN v2FieldId, HANDLER handler) at System.Data.Odbc.OdbcDataReader.GetName(Int32 i) at System.Data.Common.DbEnumerator.BuildSchemaInfo() at System.Data.Common.DbEnumerator.MoveNext() at System.Linq.SystemCore_EnumerableDebugView.get_Items()
有没有办法绕过Microsoft获取元数据?还是我遗漏了什么?请帮忙,请检查我的代码

using (OdbcConnection connection = new OdbcConnection(Conf.GetSection("ConnectionStrings:FilemakerPre1").Value))
        {

            string queryString = @"SELECT company FROM AC__Account WHERE ""Account Id"" = 30";

            OdbcCommand command = new OdbcCommand(queryString, connection);
            
            connection.Open();

            var reader = command.ExecuteReader();

            Console.WriteLine($"Field count: {reader.FieldCount}");
            Console.WriteLine($"Any rows?: {reader.HasRows}");

            while (reader.Read())
            {
                Console.WriteLine(reader[0]);
            }

        }

尝试从\Account Id\=30的帐户中选择公司尝试从\Account Id\=30的帐户中选择公司