Назад | Перейти на главную страницу

MS SQL Server 2008: Как экспортировать все таблицы в CSV?

Мне нужно перейти с MS SQL Server и теперь создать новую базу данных ORACLE с данными, частично полученными из моих старых таблиц.

Для этого мне нужно получить данные из десятков таблиц в виде файлов Unicode CSV или TXT с полями, разделенными знаком «|».

Плохо то, что мастер экспорта по умолчанию в MS SQL Server может экспортировать только одну таблицу за раз, а настройка параметров экспорта для каждой таблицы занимает много времени. Я начал экспортировать их вручную, но у 10-го стола случился приступ нервов.

Вы знаете, как экспортировать ВСЕ таблицы в csv или txt с SQL-сервера?

Более надежным решением является использование Oracle Migration Workbench. Раньше это была отдельная утилита от Oracle, но теперь она включена в Разработчик Oracle SQL . Если вы используете типы данных CLOB / BLOB, тогда это правильный путь. Вы также должны прочитать Oracle документация о том, как выполнить миграцию, поскольку интерфейс миграции SQL Developer не очень интуитивно понятен.

Если вы хотите пойти по пути экспорта всех таблиц в csv, вы можете использовать BCP или SSIS. Есть очень хорошая статья о простой разговор при использовании некоторого t-sql и для генерации команд экспорта bcp для всех таблиц в базе данных. Вы также можете создать простой пакет SSIS для экспорта всех таблиц в CSV с помощью задачи назначения плоского файла.

вот что-то быстрое и грязное, которое сгенерирует для вас команды BCP. Запустите его в SSMS, запустите вывод в командной строке.

            USE AdventureWorks
SELECT 'bcp ' +
            QUOTENAME(DB_NAME())
            + '.'
            +QUOTENAME(SCHEMA_NAME(schema_id))
            + '.'
            +QUOTENAME(name)
            + ' '+'out'+' '
            + name + '.csv -w -t"|" -E -S '
            + @@servername
            + ' -T'
    FROM sys.objects
    WHERE TYPE='u'
        AND is_ms_shipped=0

Вы можете попробовать dbForge Studio для SQL Server и Oracle для этой цели. Начальная страница, меню «База данных», затем «Экспорт данных», затем выберите «CSV» в мастере и другие параметры для вашей базы данных.

Существует инструмент под названием Oracle Migration Workbench, который вы можете получить от Oracle и который предназначен именно для того, что вы хотите. Этот инструмент может принимать целые схемы, включая пользователей, и переносить их из MS Sql в Oracle.

Я использовал его много раз, и он отличный.

Вот еще немного информации http://download.oracle.com/docs/html/B10259_01/toc.htm

J

Если у вас есть доступ к SQL Management Studio (я считаю, что даже бесплатная экспресс-версия также имеет эту функцию), вы можете щелкнуть правой кнопкой мыши базу данных и выбрать Задачи -> Экспорт данных. В качестве пункта назначения выберите пункт назначения «Плоский файл», и вы можете настроить формат (фиксированная ширина, CSV и т. Д.).