Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > OleDbException не обработано. Слишком сложный запр


Автор: valaut 23.11.2009, 11:08
Стандартными средствами VS2008 создаю адаптер подключения к базе данных Access. Количество столбцов в таблице 130. Все проходит штатно и база грузится нормально. Но при использовании команды Update происходит ошибка «OleDbException не обработано. Слишком сложный запрос.»
Обнаружил, что при количестве столбцов в таблице до 97 все работает как нужно, при большем возникает вышеуказанная ошибка. Пытался найти решение в документации и в инете, но все тщетно. Будьте добры, подскажите, как можно увеличить количество столбцов.

Автор: Akina 23.11.2009, 11:24
Документация однозначно говорит "Упростите выражение".
В вашем случае, вероятно, следует разбить запрос на два и апдейтить сначала часть полей, потом оставшиеся поля. Но вообще 130 полей в таблице - это повод пересмотреть структуру таблицы и её саму разбить на несколько, связанных 1:1.

PS. 97 - в данном случае число случайное. Бывает и на 40 ошибка, а бывает, что и 150 проходит.

Автор: valaut 24.11.2009, 08:28
Приложение находится в разработке, и структура таблицы постоянно меняется (на дню по несколько раз), да и таких таблиц, которые, содержат свыше 100 столбцов у меня более 10, поэтому автопостроение VS меня полностью устраивало - быстро и удобно. Разбивать запрос на два надо делать уже ручками, а это уже для такого количества таблиц значительные временные затраты (пробовал). Таблицы упрощать так же нежелательно – резко увеличивается количество таблиц, а у меня кроме этих в приложении еще 60 поменьше.
Хотелось бы понять, по какой причине происходит сбой и обойти эту проблему.
В документации по MS SQL Server 2005, говорится о максимальной поддержке 246 столбцов, может, имеет смысл перейти с Access на SQL или проблема не в этом и это ничего не даст?

Автор: Akina 24.11.2009, 09:32
У тебя проблема в OLEDB, а не в БД... даже ошибка описана в Dat Services, а не в Access SDK

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)