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

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

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

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

Знаете ли вы, как экспортировать ВСЕ таблицы в CSV или TXT с сервера SQL?

4 ответа

Решение

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

Если вы хотите пойти по пути экспорта всех таблиц в CSV, вы можете использовать BCP или SSIS. Есть очень хорошая статья о simple-talk об использовании некоторого 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

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

Я использовал это кучу раз, и это отлично.

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

J

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

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

Другие вопросы по тегам