C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
MSDE вместо Access в C++Builder, Можно ли безболезненно мигрировать ?!
Treumer
Отправлено: 09.09.2004, 12:05


Станционный диспетчер

Группа: Участник
Сообщений: 92



Передо мной вопрос расширения работоспособности софта в сторону многопользовости (10-20-30 конкурирующих пользователей при умеренной нагрузке на базу).
Используемая база на данный момент — MS Access, приложение разработано на С++ Builder 5 с использованием ADO.
Есть ли возможность без особых затрат заменить БД на MSDE 2000 ?
На уровне — поменял строку коннекта и все заработало или что-то типа того ?! cool.gif
Или всю работу с базой перелопачивать ?! ohmy.gif
olegenty
Отправлено: 20.09.2004, 15:28


Ветеран

Группа: Модератор
Сообщений: 2412



ну как тебе бы сказать бы...
Desktop Eengine — не советую, в него Enterprise Manager и Query Builder не входят. не офигеешь ли ручками всё делать???

хотя бы MS SQL Developer Edition

но это лирика.
попробую ответить.

допустим, ты создал идентичные таблицы с близкими по смыслу типами данных. оба продукта Microsoft, посредством переливки всё должно пройти корректно (через DTS). теоретически. на практике может получиться, что всё ты сделал именно так, а тип подходящий не нашёлся. будет избран близкий по смыслу. тогда, если у тебя в приложении есть Persistent поля (постоянные то есть, созданные в Design-time), можешь заиметь грабли № 1.

если ты пользовался расширениями синтаксиса SQL, присущими Access (например — перекрёстные запросы) — это работать не будет. грабли № 2.

ещё одно личное наблюдение — даже при наличии идентичных индексов, оптимизатор запросов MSSQL работает ну совсем не так, как DBEngine в Access. можешь поиметь местами замедление выборки, местами — ускорение.

а вообще, постановка задачи неверная в корне, потому что Access суть всё же файл-серверная СУБД в большей степени, нежели SQL. правила работы с данными надо переносить на сторону сервера. другими словами — обзаводиться триггерами там всякими, процедурами хранимыми... то, что ты делал в циклах от первой до последней записи по набору данных — всё должно делаться сервером...


Вернуться в Работа с базами данных в C++Builder