Как вывести таблицу в текстовый файл на сервере SQL? в SQL Server 2005 - PullRequest
2 голосов
/ 06 мая 2009

Как экспортировать таблицу в текстовый файл?

Мне нужно получить скрипт INSERT (структура и данные) для уже существующей таблицы.

Ответы [ 5 ]

3 голосов
/ 06 мая 2009

В SQL Server 2005 Management Studio вы можете использовать мастер импорта / экспорта (не уверен, что вам конкретно нужен сценарий, или просто способ экспорта структуры / данных в файл, но это предложение сделает это без актуальный сценарий):

  • щелкните правой кнопкой мыши базу данных, содержащую таблицу
  • выберите Задачи-> Экспорт данных
  • Выберите экран источника данных: (после экрана приветствия) оставьте значения по умолчанию, нажмите Далее
  • Выберите место назначения: «Назначение плоского файла» для поля «Место назначения». Затем введите имя файла / путь и другие параметры, как вы хотите, нажмите Далее
  • Выберите Скопировать данные ..., нажмите Далее
  • Выберите таблицу для экспорта, нажмите Далее
  • На экране «Сохранить и выполнить пакет» вы можете просто оставить «Выполнить немедленно» или, если вы хотите сохранить полученный «скрипт» как пакет служб SSIS, вы также можете выбрать эту опцию. Нажмите Далее, затем Готово, чтобы выполнить экспорт

  • Ваш результирующий файл будет содержать содержимое таблицы. Если затем вам нужно «вставить» эти данные в другую базу данных, вы можете использовать опцию «Импорт данных» мастера для импорта данных из текстового файла в другую базу данных / таблицу.

3 голосов
/ 06 мая 2009

В SQL2k попробуйте прочитать о массовом копировании, команда должна быть bcp я думаю

примеры из файла справки MS содержат что-то вроде ...

Экспорт данных из таблицы в текстовый файл

bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword

Импорт данных из текстового файла в таблицу:

Команда для массового копирования данных из Newpubs.dat в издатели2:

bcp pubs..publishers2 in newpubs.dat -c -t , -r \n -Sservername -Usa -Ppassword

Кроме того, вы можете использовать инструкцию BULK INSERT из инструмента запросов, такого как SQL Query Analyzer, для массового копирования данных:

BULK INSERT pubs..publishers2 FROM 'c:\newpubs.dat'
WITH (
   DATAFILETYPE = 'char',
   FIELDTERMINATOR = ',',
   ROWTERMINATOR = '\n'
)

Гаф

1 голос
/ 06 мая 2009

попробуйте это:

http://vyaskn.tripod.com/code.htm#inserts

0 голосов
/ 06 мая 2009

Вы можете построить оператор INSERT программным путем, извлекая информацию о столбце из таблицы information_schema, где каждая строка данных описывает столбец:

SELECT   table_name, 
         ordinal_position, 
         column_name, 
         data_type, 
         is_nullable, 
         character_maximum_length 
FROM     information_schema.columns 
WHERE    table_name LIKE '%TableName%' 
ORDER BY ordinal_position 

Для экспорта данных BCP является инструментом, а у BOL есть несколько достойных примеров:

bcp AdventureWorks.Sales.Currency out Currency.dat -T -c

0 голосов
/ 06 мая 2009

Вы можете запустить генератор сценариев вставки, например this

или настольный инструмент, подобный этому ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...