System.Data.OleDb.OleDbException:定义的字段太多

Posted

技术标签:

【中文标题】System.Data.OleDb.OleDbException:定义的字段太多【英文标题】:System.Data.OleDb.OleDbException: Too many fields defined 【发布时间】:2009-04-17 20:25:45 【问题描述】:

我正在构建一个 .NET WinForms 应用程序来替换 Microsoft Access(在此处插入集体呻吟)数据库中的一系列表单。为了完成初始版本,我尝试使用现有查询,而不是深入研究数据模型及其明显的设计问题。

我使用 OleDbCommand 对象调用查询并将它们视为存储过程。这在我们用来在办公室测试应用程序的工作站上运行良好,但在客户端计算机上运行时失败并出现“”错误。两种环境都运行 MS Access 2003,因此客户端计算机上的错误原因并不明显。

我在http://www.eggheadcafe.com/conversation.aspx?messageid=33475714&threadid=33453796 找到了一篇帖子,上面说如果列数超过 127,就会发生这种情况。查询中使用的几个表的列数超过了这个数(几乎完全缺乏规范化,我知道)。我相信这是原因,但无法解释为什么我们办公室没有发生错误。有什么建议可以解决这种将数据访问拆分为多个查询的问题吗?

【问题讨论】:

我在与客户的内部 IT 部门协调时遇到了障碍。我们目前处于等待状态,等待他们设置专用测试机器供我们用于故障排除。正如我最初发帖以来所经过的时间所证明的那样,目前这不是他们的优先事项。当/如果最终解决此问题时,我一定会发布另一个更新。 【参考方案1】:

我不明白为什么会发生这种情况。

但是,这可能与安装在您办公室和客户端计算机中的 MDAC 组件有关(即 MDAC 组件包括 JET oledb 驱动程序)。

这可能会有所帮助。

【讨论】:

感谢您的提示。我注意到客户的计算机正在运行 MS Access 2003 SP2,而我们正在办公室运行 SP3。在我们更新客户的 PC 后,我会将我的发现发布给后代。

以上是关于System.Data.OleDb.OleDbException:定义的字段太多的主要内容,如果未能解决你的问题,请参考以下文章