Care este cea mai bună practică pentru FTP dintr-o procedură stocată SQL Server 2005?

Care este cea mai bună metodă pentru executarea comenzilor FTP dintr-o procedură stocată SQL Server? în prezent folosim ceva de genul:

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

Problema este că comanda pare să reușească chiar dacă FTP sa încheiat din greșeală. De asemenea, utilizarea codului xp_cmdshell necesită permisiuni speciale și poate lăsa loc pentru probleme de securitate.

0
fr hi bn

4 răspunsuri

Dacă aveți nevoie să faceți FTP din baza de date, atunci aș merge cu un as. .Net așa cum a sugerat Kevin. Aceasta ar oferi cel mai mult control asupra procesului, plus veți putea să înregistrați mesaje de eroare semnificative într-un tabel pentru raportare.

O altă opțiune ar fi să scrieți o aplicație de linie de comandă care să citească baza de date pentru a rula comenzile. Apoi, puteți defini o sarcină programată pentru a apela acea aplicație de linie de comandă la fiecare minut sau orice perioadă de sondare necesară. Ar fi mai sigur decât să activați suportul CLR în serverul de baze de date.

0
adăugat

O altă posibilitate este utilizarea serviciilor DTS sau Integration Services (DTS pentru SQL Server 7 sau 2000, SSIS pentru 2005 sau mai mult). Ambele sunt de la Microsoft, incluse în instalarea Serverului Sql (cel puțin în ediția Standard) și au o sarcină FTP și sunt proiectate pentru sarcini de import / export de pe serverul Sql.

0
adăugat

Dacă executați SQL 2005, puteți face acest lucru într-un ansamblu de integrare CLR și utilizați clasele FTP din spațiul de nume System.Net pentru a construi un simplu client FTP.

Ați beneficia de posibilitatea de a capta și de a gestiona excepțiile și de a reduce riscul de securitate de a fi nevoiți să utilizați xp_cmdshell.

Doar câteva gânduri.

0
adăugat

Kev a postat un exemplu aici care implementează sugestia sa de a" face acest lucru într-un ansamblu de integrare CLR și de a folosi clasele FTP în spațiul de nume System.Net pentru a construi un simplu client FTP ".

0
adăugat