2013-02-11 4 views
1

Я пытаюсь найти способ скопировать результат запроса SQL Server в Excel. Я знаю, что с помощью PostgreSQL вы можете выполнить следующую команду:Копировать результат запроса SQL Server в Excel

для достижения желаемого результата. Что такое эквивалентный метод в SQL Server?

И я хочу запустить его как оператор запроса, так как я хотел бы автоматизировать этот процесс, выполнив запрос с пакетным файлом в качестве запланированной задачи.

+0

Возможно, это поможет: http://www.mssqltips.com/sqlservertip/1 202/export-data-from-sql-server-to-excel/ – bpoiss

+0

Что-то вроде этого: SELECT id, summary, description FROM table INTO OUTFILE '/path/to/file.xls' –

+0

он говорит о некорректном синтаксисе рядом с ключевым словом 'INTO' – user974047

ответ

0

Я понял это, просто использовать BCP (Bulk Copy Program), чтобы выполнить эту работу следующим образом:

bcp "select * from [databasename]. [Dbo]. [Tablename]" queryout "c: \ test \ table.csv" -c -t "," - r "\ n" -S имя_сервера -T

0

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

INSERT INTO 
OPENROWSET (
    'Microsoft.ACE.OLEDB.12.0', 
    'Excel 8.0;HDR=NO;Database=C:\test\table.xls;', 
    [Sheet1$] 
) 
SELECT id, summary, description FROM table 

Некоторые ограничения

  • Вы должны создать пустой файл первенствует первым.

  • Вы должны добавить имена столбцов в первой строке, соответствующей вставленным данным.

+0

говорит, что поставщик OLE DB «Microsoft.ace.oledb.12.0» не был зарегистрирован – user974047

+0

@ user974047 Необходимо установить [Microsoft.ace.oledb.12.0] (http://www.microsoft.com/en-us/download /details.aspx?id=13255). –

+0

ive запустил установочный файл, и он все еще дал мне эту ошибку в MSSQL – user974047

Смежные вопросы