Создание текстового файла без использования BCP в SQL - PullRequest
0 голосов
/ 10 февраля 2012

Мне нужно запросить таблицу и распечатать вывод в текстовом файле. У меня есть обычный пользовательский логин с разрешением dbo для базы данных. Я не могу использовать bcp или не могу дать никаких специальных разрешений. Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Вы не можете создать текстовый файл на сервере или в другом месте только с разрешениями в базе данных.Есть несколько альтернатив BCP ( SQLCLR , xp_cmdshell , sp_OACreate , OPENROWSET и т. Д.), Но Windowsэто немного более безопасно, чем просто позволить любому пользователю базы данных писать в файловую систему.Представляете, может ли кто-нибудь выполнить запрос к вашей базе данных записать в файловую систему?( Некоторая справка здесь .)

Вот пара статей, которые описывают, как это сделали другие, а также некоторые последующие дискуссии об этом:

http://www.simple -talk.com / sql / t-sql-программирование / чтение-и-запись-файлов-в-sql-сервере-использование-t-sql /

http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-to-copy-data-append-data-into-files-

Для подхода CLR также существует проект codeplex FileSystemHelper , который будет более полезен, чем повторное изобретение колеса.

0 голосов
/ 10 февраля 2012

Если вы выполняете запрос вручную, SSMS имеет возможность выводить результаты в файл (CTL-Shift-F)

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