Jerrykan Ответов: 5

Как экспортировать данные в файл. csv с помощью хранимой процедуры Sql server.


Всем Привет

У меня есть хранимая процедура Sql, и я хочу экспортировать данные в файл. csv из моей хранимой процедуры. моя процедура такова --



create Proc ExportTest
AS
BEGIN
SELECT * FROM EMPLOYEE

-- I NEED TO EXPORT RESULT OF THIS SELECT STATEMENT TO THE .CSV FILE
END



Спасибо

5 Ответов

Рейтинг:
2

chaau

Если вы можете использовать командную строку, я предлагаю вам проверить утилита bcp[^Это мощный инструмент командной строки, который позволяет экспортировать (или импортировать) данные в различных форматах.

Здесь[^] вы можете прочитать хорошую статью о том, как использовать эту утилиту с несколькими примерами.

Если у вас есть проблемы с этим, просто прокомментируйте ниже. Мы сможем вам помочь.


Рейтинг:
2

Slogmeister Extrarodinare

Да, это можно сделать из хранимой процедуры. В настоящее время у нас есть нечто подобное, работающее в нашей производственной среде.

Используйте T-SQL

INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:\;HDR=YES;FMT=Delimited','SELECT * FROM [FileName.csv]')
SELECT Field1, Field2, Field3 FROM DatabaseName


Но есть пара предостережений:

1. Вы должны иметь Microsoft.Туз.Oledb для.12.0 доступен поставщика. Поставщик Jet 4.0 тоже будет работать, но он древний, поэтому я использовал вместо него этот.

2. файл. CSV должен уже существовать. Если вы используете заголовки (HDR=YES), убедитесь, что первая строка .CSV-файл представляет собой разделенный список всех полей.


Рейтинг:
2

kanjolia gopal

вы можете использовать запрос, как показано ниже



declare @sql varchar(8000)
select @sql = 'bcp "select * from EmailVarification..tblTransaction" queryout c:\bcp\Tom.xls -c -t, -T -S' + @@servername
exec master..xp_cmdshell @sql



в этом запросе EmailVarification - это имя БД, а tblTransaction-имя таблицы.
для выполнения этого запроса необходимо задать путь к файлу записи.
в настоящее время в этом запросе вы должны создать папку "bcp" на диске "C:\".

Спасибо


Member 12055056

Могу ли я для папки назначения поместить удаленное местоположение (удаленный сервер)?

Спасибо,

Ивана

Рейтинг:
1

Khorshed Alam, Dhaka

К сожалению, невозможно записать данные на диск с помощью хранимой процедуры. Мастер импорта экспорта SQL Server можно использовать для создания файла и сохранения его в виде пакета SSIS для дальнейшего использования.


Christian Graus

Нет, это неправильно.

Рейтинг:
0