Конвертация файлов Access в SQL Server

55555_skiba

Есть большие базы данных, сделанные в Ассеss, можно ли перенести их на платформу Microsoft SQL Server. Причем не просто перенести, а добавить новые поля. Или есть какие-нибудь другие варианты.

xz_post

в SQL Server есть несколько утилит для импорта /экспорта данных.

55555_skiba

Просто я не работал с SQL. Там реально можно импортировать данные?

xz_post

реально.
можно все делать через export / import wizard - это совсем просто
или же через DTS (data transformation service) - в этом случае
будет чуть сложнее, но зато можно полностью контролировать поток данных

55555_skiba

А добавить новые поля?

xz_post

DTS пакете делаешь-> DTS Task -> destination-> table name-> Create new -> он сгенерит sql. по дефолту структура этой таблицы = исходной. sql скрипт поправляется (добавляются новые столбцы потом делается маппинг между source & destination

psm-home

Ставишь MS SQL Server, дальше лезешь Start->Programs->Microsoft SQL Server->Import and Export Data. Это такой wizard, там указываешь, откуда брать данные. В твоём случае DataSource будет Microsoft Access, видимо. Указываешь путь к базе, логин/пароль, если надо. Там ещё есть кнопка Advanced, там настройки провайдера MS Jet, подстраиваешь их, опять таки, если нужно. На след. вкладке указываешь, куда импортировать данные, в твоём случае это MS OLE DB Provider for MS SQL Server, указываешь там свой сервер, логин/пароль, в качестве имени базы <new>, тебя спросят, как её назвать. На след. вкладке укажи, какие данные передавать. Либо все таблицы/view, либо только результат запроса. Допустим, ты хочешь тащить всё, там будет список, где надо будет поставить галки около объектов, которые нужно перенести. Жми кнопу Select All, доводи wizard до finisha и будет тебе счастье, т. е миграция данных из Access в SQL Server. Все подробности работы Data Transformation Services в Books Online (это help к MS SQL).

psm-home

Упс, окажывается, тут уже всё рассказали.

55555_skiba

Не сочтите идиотом, , но могу ли я добавить новые поля дополнительно к существующим при конвертации.

psm-home

могу ли я добавить новые поля дополнительно к существующим при конвертации.

Да. И уже сказал, как это делается. Та же идея работает, если пользуешься не пакетами DTS, а wizard'ом. Там в шаге Specify Table Copy or Query надо выбрать не "Copy table(s) and view(s)...", а "Use a query to specify data to transfer", потом с помощь Query Builder там построить запрос, который просто выберет все строки из таблицы Access, потом нажимая Next добратся до раздела "Select source tables and views" и там в таблице в колонке Transform будет такая кнопка "...". Её нажать, вылезет диалог "Column mappings and transforms", там будет кнопа "Edir SQL", нажать её тоже, откроется окошко. где будет SQL, которым создаётся destination таблица. Правишь его как хочется, можно добавить поле, в частности. Добиваешь wizard до финиша и всё хорошо.
Оставить комментарий
Имя или ник:
Комментарий: