1

我们可以从 SFTP 文件夹位置读取 csv 文件而不在本地任何地方下载它吗?我可以使用 FTP 任务组件,但它会在本地下载文件,我想从 sftp 本身读取文件。可能吗?我正在使用 SSIS 2008。

谢谢,
柴坦亚

4

1 回答 1

0

一般来说,FTP 不允许直接从远程 ftp 服务器读取文件而不将其下载到本地文件夹。您必须将此文件下载/复制到本地文件夹以进行进一步处理。

您可以在处理后删除这个本地下载的文件。

但我想知道你为什么决定直接阅读它?任何具体原因。

还有另一种使用脚本任务的方法。您需要编写代码以使用 FTPWebRequest 类将文件下载到文件流中。在 ssis 脚本编辑器中。

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
            request.Method = WebRequestMethods.Ftp.DownloadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();

            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            Console.WriteLine(reader.ReadToEnd());

            Console.WriteLine("Download Complete, status {0}", response.StatusDescription);

            reader.Close();
            response.Close();  
于 2013-06-26T15:02:32.483 回答