- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
3年前关闭。
Improve this question
这个问题最初是问哪个是在 SSIS 中通过 SFTP 或 FTPS 上传文件的最佳方法。它现在只列出每个解决方案的优缺点。这些天我个人使用 CozyRoc 的 SFTP 库,但我曾经使用过以下每个解决方案。
SSIS 组件库
方法:从 CozyRoc 安装 SSIS 组件库, Codeplex , BizCrypto , PragmaticWorks或每个开发和生产服务器上的其他一些供应商,并使用 SFTP 任务上传文件。
优点:易于使用。它看起来、闻起来和感觉就像一个普通的 SSIS 任务。 SSIS 还将密码识别为敏感信息,并允许您使用所有常规选项来保护敏感信息,而不仅仅是以非安全方式以明文形式存储它。适用于其他 SSIS 任务,例如 ForEach 循环容器。上传和下载失败时出错。当您不知道要下载的远程 FTP 站点上的文件的名称或直到运行时您才知道要上传的文件的名称时,这种方法效果很好。
缺点:除 Codeplex 解决方案外,在生产环境中获得许可需要花钱。需要在每台开发和生产机器上安装库。如果是 Codeplex 解决方案,那么您使用的软件不受任何特定供应商的支持。这也使您依赖供应商在每个版本之间更新他们的库。例如,在 2008 RTM'd 之前,我正在 2008 的 CTP 版本上开发一个新服务器,而 CozyRoc 2005 库与它不兼容。最终他们发布了一个 2008 兼容版本,但我不得不暂时使用命令行解决方案来解决这个问题。
命令行 SFTP 程序
方法:安装一个免费的命令行 SFTP 应用程序,例如 Putty 和 WinSCP,并通过运行批处理文件或操作系统进程任务来执行它。列出了通过 WinSCP 执行此操作的说明 here .
优点:免费,免费,免费。如果您使用 Putty,您可以确定它是安全的,因为许多 GUI FTP 客户端似乎在幕后使用 Putty。您绝对知道您使用的是 SSH2 而不是 SSH。
缺点:我尝试过的两个命令行实用程序(Putty 和 Cygwin)需要将 SFTP 密码存储在非安全位置。我还没有找到在上传文件时捕获失败或错误的好方法。这个过程看起来和闻起来都不像 SSIS。大多数代码都封装在文本文件中,而不是 SSIS 本身。如果您不知道正在上传或下载的文件的确切名称,则很难使用。
3RD PARTY C# 或 VB.NET 库
方法:安装 SFTP 或 FTPS 库并使用引用该库的脚本任务上传文件。 (我从来没有尝试过这个,所以我会猜测利弊)
优点:可能很容易捕获错误。应该可以很好地处理变量,因此即使您不知道正在上传或下载的文件的确切名称,它也可能很容易使用。
缺点:它是一个结合 .NET 库的脚本任务。如果您使用的是 SSIS,那么您可能更喜欢 SSIS 任务而不是 .NET 代码。脚本任务也很难排除故障,因为它们没有与常规 .NET 项目相同的调试工具和功能。创建对 3rd 方代码的依赖关系,这在不同版本的 SQL Server 之间可能不起作用。公平地说,与 3rd 方 SSIS 任务库相比,它可能更可能在不同版本的 SQL Server 之间工作。另一个巨大的缺点——到目前为止,我还没有找到一个免费的 C# 或 VB.NET 库。所以如果有人知道的话,请告诉我!
最佳答案
以下问题可能有用:
What would be a recommended choice of SSIS component to perform SFTP or FTPS task?
Cozyroc:
通过将服务器设置为“仅允许 SSHv2”并进行测试,应该很容易测试 ssh 协议(protocol)的可用性。您试过询问 Cozy 的销售部吗?
命令行 sftp:
未知文件名问题可以通过简单的脚本编写/通配符的使用来解决(至少在 Cygwin 下)。
第三方库:
为什么 FTPS 需要第三方库? .NET 从 2.0 左右开始支持这个协议(protocol)。
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx
关于ssis - 通过 SSIS 获取 SFTP 或 FTPS 文件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/409491/
如果您登录到 sftp 服务器, 用户名和密码是否安全发送? 或者您是否必须进行基于证书的身份验证以确保整个传输都是加密的? 如果这是依赖于客户端的,那么您知道 Tumbleweed 和 WinSCP
我们如何在不安装任何软件/工具的情况下验证服务器上是否已授予 SFTP 访问权限? 最佳答案 大多数服务器有 curl和 scp安装,您可以使用它登录到 SFTP 服务器。要使用 curl 测试您的凭
我需要为 SFTP 执行校验和(为了数据完整性)。我希望这可以在 SFTP 文件传输期间完成 - 我意识到这可能取决于产品(仅供引用:使用 CLEO VLTrader),但想知道这是否是惯例? 我也在
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 8年前关闭。 Improve this que
我目前有一个 SFTP 脚本,它通过每天在 cron 上运行的 SSH 将最新版本的文件上传到服务器。但是我总是收到这样的电子邮件(我将服务器更改为 example.com fyi) /etc/cro
是否有使用“sftp”将远程服务器上的远程文件移动到另一个目录(在同一远程服务器上)的单行程序? 最佳答案 对于sftp,它是rename。如果你要求调用 sftp,使用 bash 就像是 sftp
嗨,我需要使用 NetSuite sFtp 功能从保存的搜索和 ftp'it 创建一个文件到另一台服务器。我想知道返回的数据后如何创建文件并将其传递给 FTP 对象?它将是一种csv形式,我可以将
我在 SFTP 位置创建了一个目录,我想将文件从一个 SFTP 目录移动到另一个目录,但是 cp那里不支持命令。 我怎样才能做到这一点? 最佳答案 核心 SFTP 协议(protocol)不支持复制远
我正在努力解决的问题有点复杂。我先向您解释设置环境。 我正在使用 PHPStorm 来处理 Symony2 项目。 我的 Apache 托管在通过“部署工具”连接到 PHPStorm 的 Debian
使用FTP,一切正常...但是.. 当我使用 SFTP 时,它成功连接,甚至当我使用“上传按钮”时,它成功上传文件...但是当我编辑+保存文件,它开始自动上传更改时,它无法上传(红色消息:文件....
我想将文件从远程服务器复制到不同目录中。例如,我想一次运行这4个命令。 scp remote:A/1.txt local:A/1.txt scp remote:A/2.txt local:A/2.tx
我可以使用 ssh/sftp(不带 -b 选项)登录我的 Remote sftp root@192.168.7.2 但是当我尝试 sftp -b commands.tmp root@192.168.7
我正在使用 Airflow v1.9rc5 中的 sftp_operator。我试图通过 SFTP 获取两个文件,但我得到: 错误 - 无法连接到主机:192.168.56.101,错误:没有可用的身
我想将 .png 文件从我计算机上的目录传输到远程服务器上的目录。 我必须使用 SFTP 来保护文件和传输模式。而且我已经有一个 UNIX 脚本 (.ksh) 文件以正常模式复制文件。如何在 SFTP
我正在使用 JSch 作为 SFTP 客户端,现在由于某些安全限制,我需要启用被动模式。 但我找不到启用被动模式的方法。 有人可以告诉我该怎么做吗? 最佳答案 “被动模式”是 FTP 协议(proto
我在 DigitalOcean 上有一个 Droplet,并创建了 SSH key 。我的 SSH 和 SFTP 访问与 Mac OSX 终端和传输完美配合。 但由于某种原因,SFTP 无法与 PHP
最近,我正在使用 SharpSSH 来处理远程文件。 SharpSSH 提供了用于删除远程目录的 rmdir API,但我发现当目录不为空时它会抛出异常并显示消息“Permission denied”
尝试通过 SFTP 连接到另一个集群中的文件,但没有任何效果。 Current spark version is : '2.2.0.2.6.4.0-91 . scala :2.11.8' . 下面是数
我已经使用 Package Installer (control+shift+p) 安装了 SFTP,但是现在当我点击“添加新服务器”时,无论我是哪个文件,它都只是添加了代码/json,我必须输入我的
我使用 DSL 配置和 spring。 我的路线如下: @Component public class UploadRoutesDefinition extends RouteBuilder {
我是一名优秀的程序员,十分优秀!