004 — Перевод базы данных Microsoft Access в формат Microsoft SQL Server

Как перевести базу данных созданную в Microsoft Access в формат Microsoft SQL Server

В данном задании будет рассмотрено использование утилиты «Import and Export Data» для преобразования базы данных, созданной средствами Microsoft Access в формат базы данных Microsoft SQL Server. Данная утилита поставляется вместе с системой Microsoft SQL Server 2008 (в нашем случае).


Содержание


Условие задачи

Задан файл базы данных с именем «mydb.mdb«, сформированный в MS Access. Перевести этот файл в формат Microsoft SQL Server с помощью средств Microsoft Visual Studio 2010.

Полный путь к файлу следующий:

"E:\1\mydb.mdb"

 


Выполнение

Существует несколько способов перевода базы данных из формата Microsoft Access в формат MS SQL Server.

В дистрибутив MS Visual Studio 2010 входит утилита (мастер) «Import and Export data«. Эта утилита (мастер) помогает создать простые пакеты файлов, которые предназначенные для импорта и экспорта данных между разными популярными форматами данных.

В нашем случае файл с расширением «*.mdb» будет переведен в формат «*.mdf«.

 

1. Запуск утилиты «Import and Export data«

После запуска утилиты открывается стартовое окно приглашения, изображенное на рис. 1. Делаем клик на кнопке «Next«.

MS SQL Server база данных мастера "Import and Export data"

Рис. 1. Запуск мастера «Import and Export data«

 

2. Выбор источника данных

Источником данных есть наша база данных «mydb.mdb«.

Окно выбора источника данных изображено на рис. 2.

В поле «Data Source» выбираем «Microsoft Access«.

MS SQL Server источник данных "Microsoft Access"

Рис. 2. Выбор источника данных «Microsoft Access«

В поле «FileName» выбираем наш файл на диске. В соответствии с условием задачи файл размещается по следующему пути «E:\1\mydb.mdb«. Делаем клик на кнопке «Next«.

SQL Server выбор источник данных

Рис. 3. Окно выбора источника данных и пути к файлу

Если нужно сделать дополнительные настройки, то нужно кликнуть на кнопке «Advanced«. В результате откроется дочернее окно, в котором можно задать (изменить) такие основные параметры:

  • путь к файлу базы данных;
  • имя пользователя и пароль доступа к базе данных;
  • права доступа к базе данных;
  • проверка подключения к базе данных (*.mdb) и прочее.

 

3. Выбор приемника

Следующим открывается окно выбора приемника (рис. 4).

Здесь нужно выбрать базу данных, в которую будут копироваться (конвертироваться) данные из нашей базы данных. В соответствии с условием задачи приемником есть MS SQL Server.

В поле «Destination» из предложенного списка выбираем «SQL Server Native Client 10.0«.

SQL Server выбор приемника данных

Рис. 4. Выбор приемника

 

4.Создание базы данных MS SQL Server

На этом этапе нам нужно создать базу данных MS SQL Server которая также может сохраняться в некотором файле (файлах).

Для этого делаем клик на кнопке «New» в поле «Database«. Другие поля оставляем без изменений.

В результате откроется окно «Create Database«.



В поле Name вводим имя создаваемой базы данных. Например «mySQLDb«. Автоматически система формирует полный путь для двух файлов:

  • файла данных mySQLDb_Data.mdf;
  • регистрационного файла mySQLDb_Log.ldf.

Соответственно в системных папках Microsoft SQL Server создаются эти два файла:

C:\Program Files\Microsoft SQL Server\ MSSQL10.SQLEXPRESS\MSSQL\DATA\mySQLDb_Data.mdf
C:\Program Files\Microsoft SQL Server\ 
MSSQL10.SQLEXPRESS\MSSQL\DATA\mySQLDb_Log.ldf

MS SQL Server создание новая база данных MS SQL Server

Рис. 5. Окно создания новой базы данных MS SQL Server

После клика на кнопке OK окно выбора приемника будет иметь вид как показано на рис. 6. Кликаем на кнопке «Next«.

MS SQL Server выбор приемника база данных

Рис. 6. Окно выбора приемника с созданной базой данных mySQLDb

 

5. Установка особенностей копирования (конвертирования) данных

Следующим открывается окно, изображенное на рис. 7. Здесь есть возможность выбора способа копирования данных из таблиц одной базы данных в другую.

MS SQL Server выбора способа копирования данных

Рис. 7. Окно выбора способа копирования данных между базами данных

Как видно из рис. 7, предлагается два варианта:

  • «Copy data from one or more tables or views«;
  • «Write a query to specify the data to transfer«.

В первом случае копируются все данные из заданных таблиц базы данных источника (MS Access).

Во втором случае из базы данных источника копируются данные, которые выбираются на основе SQL-запроса. При выборе этого варианта текст SQL-запроса задается на следующих шагах мастера.

В соответствии с условием задачи, выбираем первый вариант и кликаем на кнопке «Next«.

 

6. Выбор таблиц и представлений в базе данных которая является источником

На этом шаге мастера нужно задать таблицы и представления (если есть) в базе данных, сформированной в системе Microsoft Access (рис. 8.).

MS SQL Server выбор таблиц и представлений база данных

Рис. 8. Окно выбора таблиц и представлений в базе данных mydb.mdb

В соответствии с условием задачи выбираем все таблицы базы данных mydb.mdb. Как видно из рис. 8, база данных mydb.mdb содержит 3 таблицы с именами Customer, Order, Tariff.

Кликаем на кнопке «Next >«.

 

7. Запуск пакета на выполнение

Все настройки для копирования (конвертирования) сделаны. Следующее окно отображает подготовку к запуску пакета настроек (рис. 9).

Оставляем все без изменений и кликаем на «Next >«.

MS SQL Server запуск настроек процесс конвертирование база данных

Рис. 9. Окно запуска пакета настроек для начала процесса конвертирования между базами данных

 

8. Окончательная проверка

Если на предшествующих шагах все было сделано правильно, то выводится окно (рис. 10) приблизительно с таким текстом:

Click Finish to perform the following actions:
Source Location : E:\1\mydb.mdb
Source Provider : Microsoft.Jet.OLEDB.4.0
Destination Location : МИГАЧ\SQLEXPRESS
Destination Provider : SQLNCLI10
- Copy rows from `Customer` to [dbo].[Customer]
  The new target table will be created.
- Copy rows from `Order` to [dbo].[Order]
  The new target table will be created.
- Copy rows from `Tariff` to [dbo].[Tariff]
  The new target table will be created.
- The package will not be saved.
- The package will be run immediately.
Provider mapping file : 
C:\Program Files\Microsoft SQL Server\ 100\DTS\MappingFiles\JetToMSSql9.xml

Как видно из текста, происходит копирование данных всех трех таблиц (Customer, Order и Tafiff) из базы данных mydb.mdb. Также дополнительная информация о пакете данных сохраняется в системной папке MS SQL Server в формате XML.

SQL Server визуальная проверка операции конвертирования

Рис. 10. Окно визуальной проверки операции конвертирования

 

9. Копирование (конвертирование) данных между базами данных

Следующим шагом есть конвертирование данных, ход выполнения и результат которого изображен в окне на рисунке 11.

SQL Server результат конвертирования

Рис. 11. Окно результата конвертирования

 

10. Вывод

В данной задаче выполнено преобразование базы данных Microsoft Access «mydb.mdb» в формат Microsoft SQL Server.

База данных MS Access размещалась на диске по такому пути:

"E:\1\mydb.mdb"

Результирующая база данных формируется в системной папке MS SQL Server и состоит из двух файлов, размещенных по следующему пути:

C:\Program Files\Microsoft SQL Server\
MSSQL10.SQLEXPRESS\MSSQL\DATA\mySQLDb_Data.mdf
C:\Program Files\Microsoft SQL Server\
MSSQL10.SQLEXPRESS\MSSQL\DATA\mySQLDb_Log.ldf

Теперь эту базу данных можно использовать при программировании приложений в MS Visual Studio 2010 и других системах визуальной разработки приложений.

 


Связанные темы