2012-08-22 55 views
0

有沒有一種方法可以使用sql server 2005來實現安全的ftp?我需要確保ftp到某個服務器並取出一個文件。最好是用T-SQL來做,如果沒有,還有其他方法嗎? 其實我已經google了一下,下面是我的結果,我沒有CLR的經驗,有一些SSIS的經驗。我想在這裏提出你對這兩種方法或其他方式的建議嗎?sql server secure ftp

  1. 使用SSIS和第三方組件。 SSIS集成了SQL Server 2005的ETL工具。它有一個ftp組件,但它只能做FTP不安全的ftp。但是有許多爲SSIS開發的可以執行SFTP的第三方組件。 SSIS可以使用這些第三方組件來實現SFTP功能。然後可以在SQL代理作業中安排SSIS任務。
  2. 使用CLR(公共語言運行時),它使用.NET代碼來擴展SQL服務器的能力。例如。使用.NET代碼生成一些可以執行SFTP作業的類,那麼這可以作爲存儲過程類的東西集成到SQL Server中。然後它可以從T-SQL代碼/存儲過程中調用。

謝謝 年

回答

1

您可以使用xp_cmdshell,如果這是你服務器上啓用,要執行的命令行。

如:http://www.tekkies.co.uk/v2/articles/1-general/15-ftp-using-xpcmdshell-sql2k

但是,不管你做什麼,SQL服務器是不是做這項工作的最佳工具。它是一個數據庫服務器。

+0

它可以使用安全的FTP或只是FTP?我現在不能測試。 – thotwielder

+0

它應該與任何東西 - 見SFTP客戶端http://stackoverflow.com/questions/3477471/whats-a-decent-sftp-command-line-client-for-windows – podiluska

+0

我將能夠在下週進行測試。我們會看到。謝謝。 – thotwielder

0

事實上,SSIS的主要選擇是爲SFTP和FTPS預先創建任務,或者使用相應的.NET組件編寫一個任務。關於現有任務,替代方案是軟件的SSIS任務,Cozyroc和我們的BizCrypto。我們的BizCrypto使用SecureBlackbox .NET組件用於SFTP和FTPS(另一個我們的產品)。

請注意,「Secure ftp」是一個令人困惑的術語。 FTP協議(如RFC 959中定義的)使用SSL/TLS進行保護,並獲得FTPS。 SFTP(SSH文件傳輸協議)是一個完全不同的東西 - 雖然它也幾乎總是用作文件傳輸協議,但它與FTP協議幾乎沒有什麼共同之處。我們的產品同時支持SFTP和FTPS。