| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |