Обеспечение совместимости структуры базы данных между MS-Access и SQL Server. - PullRequest
1 голос
/ 30 ноября 2009

Я работаю над устаревшим проектом, написанным по большей части для Delphi 5 до его обновления до Delphi 2007. После этого обновления многое изменилось, за исключением базы данных, которая находится ниже. Он все еще использует MS-Access для хранения данных.

Теперь мы хотим поддерживать SQL Server в качестве альтернативной базы данных. Все еще только для однопользовательских ситуаций, хотя многопользовательская поддержка будет функцией в будущем. И хотя при использовании другой базы данных проблем с миграцией не будет (см. Ниже), синхронизация двух структур базы данных представляет собой небольшую проблему.

Если бы я создал сценарий SQL для создания базы данных SQL Server, то мне понадобился бы второй сценарий, чтобы поддерживать базу данных Access в актуальном состоянии. Они не говорят на одном диалекте. (По крайней мере, не для наших целей.) Поэтому мне нужен простой способ поддерживать структуру базы данных, чтобы она могла генерировать как действительную базу данных SQL Server, так и базу данных Access. Я мог бы написать свой собственный инструмент для хранения структуры базы данных в файле XML, который в сочетании с некоторым умным кодом и ADOX генерировал бы оба типа базы данных.

Но разве не существует хорошего инструмента, который может это сделать?


Примечание: приложение также использует ADO, и все запросы являются просто операторами выбора. Хотя в нем более 50 таблиц, есть одна корневая таблица «Документ», и пользователь выбирает один из «документов» в этой таблице. Затем он собирает все записи из всех таблиц, связанных с этой записью документа, и сохраняет их в структуре в памяти. Когда пользователь сохраняет данные, он просто записывает запись документа и все измененные данные обратно в базу данных. По сути, этот механизм чтения / записи документов является единственным взаимодействием с базой данных во всем приложении. Поэтому использование другой базы данных не является большой проблемой.

Мы исключим базу данных MS-Access в будущем, но на данный момент у нас есть 4000 клиентов, использующих это приложение. Сначала нам нужно убедиться, что все это работает с SQL Server, и нам нужно продолжать поддерживать текущий код. В результате нам придется поддерживать обе базы данных как минимум год.

1 Ответ

1 голос
/ 30 ноября 2009

Посмотрите на DB Explorer , также есть пробная загрузка.

OR

  1. Использование мастера миграции с MS Access на SQL Server
  2. После разработки в Access (изменения схемы) снова воспользуйтесь мастером.
  3. Используйте инструмент для сравнения схем SQL Server.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...