Преобразовать резервное копирование MySQL (сценарий дампа) к MS SQL?

У меня есть a mysqldump вывод довольно большого (мерой выполнения вещей вручную) база данных сохраняется в текстовом файле. Кто-либо знает о (свободном) способе использовать это для создания базы данных в MS SQL? Я конкретно использую SQL Server 2008.

1
задан 22.10.2010, 21:10

1 ответ

Я использовал что-то вроде этого:

-- Path/Filename of inputfile for later use
declare @Out varchar(100)
set @out = 'c:\data\Test\TBL1245.dat'

-- Define a structurefile based on a predefined target-table for later use:
exec master..xp_cmdshell  'bcp DB4711.dbo.[TBL1245] format nul -t\t  -c -x -f "c:\data\Test\Config\TBL1245.xml" -T'

-- initialie the targettable:
truncate table   DB4711.dbo.[TBL1245]

-- Load the data:
INSERT DB4711.dbo.[TBL1245] 
exec('SELECT * 
FROM OPENROWSET (
    BULK ''' + @out + '''
    , FORMATFILE = ''c:\data\Test\Config\TBL1245.xml''
    , ROWS_PER_BATCH = 100
) as co_in
where KeyFLD is not NULL') -- a condition may be set here if needed

Принятие Вас имеет таблицу (TBL1245) в базе данных (DB4711) для содержания всех полей datadumo-файла. если необходимо измениться, разделитель посмотрите в мс-bol для параметров BCP.

1
ответ дан 12.12.2019, 10:39

Вы могли перезагрузить те данные назад в MySQL и выполнить mysqldump использование следующего:

mysqldump-h...-u...-p... - compatible=mssql> MSSQL_Compatible_Data.sql

Вот то, что mysqldump - справка - подробный говорит относительно этого

- Изменение compatible=name дамп, чтобы быть совместимым с данным режимом.
Таблицами по умолчанию выводятся в формате, оптимизированном для
MySQL. Легальные режимы: ansi, mysql323, mysql40,
postgresql, оракул, mssql, db2, maxdb, no_key_options,
no_table_options, no_field_options. Можно использовать несколько
режимы разделяются запятыми.Примечание: Требует сервера MySQL
версия 4.1.0 или выше. Эта опция проигнорирована с
более ранние серверные версии.

Дайте ему Попытку!!!

2
ответ дан 12.12.2019, 10:39

Теги

Похожие вопросы