Я работаю над созданием приложения .NET WinForms для замены ряда форм в базе данных Microsoft Access (вставьте здесь стон). Чтобы закончить начальную версию, я пытаюсь использовать существующие запросы, а не копаться в модели данных и ее очевидных проблемах проектирования.
Я вызываю запросы с использованием объекта OleDbCommand и отношусь к ним как к хранимым процедурам. Это прекрасно работает на рабочих станциях, которые мы использовали для тестирования приложения в нашем офисе, но завершается с ошибкой «System.Data.OleDb.OleDbException: слишком много полей определено» при запуске на компьютере клиента. В обеих средах работает MS Access 2003, поэтому причина ошибки на клиентском компьютере не очевидна.
Я нашел сообщение в http://www.eggheadcafe.com/conversation.aspx?messageid=33475714&threadid=33453796, в котором говорится, что это может произойти, если число столбцов превышает 127. У пары таблиц, используемых в запросах, больше этого числа столбцов (почти полное отсутствие нормализация, я знаю). Я считаю, что это причина, но не могу объяснить, почему ошибка не происходит в нашем офисе. Любые предложения по решению этой проблемы разделения доступа к данным на несколько запросов?