Можно ли автоматизировать SSMA для миграции баз данных Access на SQL Server 2005?
-
03-07-2019 - |
Вопрос
Мне нужно перенести базы данных Access на SQL Server 2005. Поскольку это необходимо сделать изнутри установки, чтобы установка клиента была прозрачно перенесена на SQL Server 2005, мне интересно, возможно ли автоматизировать инструментарий SSMA из Microsoft.
Решение
На самом деле SSMA имел интерфейс командной строки (специальный исполняемый файл консоли в папке установки SSMA). Это было доступно в какое-то время, но я не уверен, пробился ли он до последнего выпуска. Вы должны пропинговать поддержку SSMA о том, какие версии были и какие примеры их использования доступны. Я надеюсь, что это поможет вам.
Другие советы
Насколько мне известно, такая автоматизация недоступна. Но вы все равно можете сгенерировать код SQL, который создает базу данных (тот, который будет начинаться с предложения «CREATE DATABASE»), и запустить его через пользовательский интерфейс на своем сервере SQL.
Чтобы сгенерировать этот код, вы можете
<Ол>С помощью EMS Studio вы даже можете решить, обновляет ли этот код данные. Но я бы предпочел автоматизировать передачу данных с помощью кода: вы можете, например, просматривать таблицы (в правильном порядке, в зависимости от отношений), открывать наборы записей (один локальный, один SQL) и передавать данные, просматривая поля (вы делаете даже не нужно их называть) с кодом вроде:
(localRecordset links to local table. can be DAO or ADODB; Adjust code accordingly)
(sqlRecordset links to the SQL server. can be DAO or ADODB; Adjust code accordingly)
localRecordset.moveFirst
Do while not localRecordset.EOF
sqlRecordset.addnew
For each field in localrecordset.fields
sqlRecordset.fields(field.name).value = field.value
Next field
sqlRecordset.update
localRecordset.moveNext
Loop