Что лучше практика для FTP из хранимой процедуры SQL Server 2005?

голоса
12

Что является лучшим способом для выполнения команд FTP из хранимой процедуры SQL Server? мы в настоящее время использовать что-то вроде этого:

EXEC master..xp_cmdshell 'ftp -n -s:d:\ftp\ftpscript.xmt 172.1.1.1'

Проблема заключается в том, что команда , кажется , чтобы преуспеть , даже если F закончилась ошибка. Кроме того , использование xp_cmdshellтребует специальных разрешений и может оставить место для вопросов безопасности.

Задан 07/08/2008 в 02:09
источник пользователем
На других языках...                            


4 ответов

голоса
4

Если вы используете SQL 2005 вы могли бы сделать это в интеграции CLR сборки и использовать классы FTP в пространстве имен System.Net построить простой FTP-клиент.

Вы бы выгоду от того, чтобы заманить в ловушку и обрабатывать исключения и уменьшить риск безопасности того, чтобы использовать xp_cmdshell.

Просто некоторые мысли.

Ответил 07/08/2008 в 02:29
источник пользователем

голоса
3

Другая возможность состоит в том, чтобы использовать DTS или Integration Services (DTS для SQL Server 7 или 2000, SSIS 2005 или выше). Оба от Microsoft, входящий в установке Sql Server (в стандартной версии, по крайней мере) и иметь FTP задачу и предназначены для экспорта / импорта заданий из Sql Server.

Ответил 11/08/2008 в 09:17
источник пользователем

голоса
2

Если вам нужно сделать FTP из базы данных, то я бы с сборки .NET, как предложил Кевин. Это обеспечит больший контроль над процессом, а также вы могли бы войти содержательные сообщения об ошибках в таблице отчетности.

Другой вариант был бы написать приложение командной строки, чтение базы данных для выполнения команд. Затем можно определить запланированное задание для вызова этой команды линии App каждые несколько минут или независимо период опроса необходимо. Это было бы более безопасным, чем включить поддержку CLR на сервере базы данных.

Ответил 07/08/2008 в 03:16
источник пользователем

голоса
1

Кев опубликовал пример здесь , реализующий его предложение «сделать это в интеграции CLR сборки и использовать классы FTP в пространстве имен System.Net построить простой FTP - клиент.»

Ответил 15/09/2008 в 14:52
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more