SSIS:使用不同的用户名和密码访问网络驱动器

nos*_*hcd 7 ssis

有没有办法连接到需要不同用户名/密码的网络驱动器,而不是运行包的用户的用户名/密码?

我需要从远程服务器复制文件.现在我在Windows资源管理器中映射网络驱动器,然后执行文件系统任务.但是,最终这个包将从另一台机器自动运行,并且需要自己映射网络驱动器.这可能吗?

Val*_*ken 11

您可以将"执行进程"任务与"net use"命令一起使用来创建映射驱动器.以下是应该如何设置任务的属性:

可执行文件: net

参数:使用\ Server\SomeShare YourPassword/user:Domain\YourUser

执行过程之后的任何文件系统任务都将能够访问这些文件.

替代方法

这个Sql Server Select文章详细介绍了这些步骤,但基础知识是:

1)创建一个"执行进程任务"来映射网络驱动器(这映射到z :)

Executable: cmd.exe
Arguments: /c "NET USE Z: "\\servername\shareddrivename" /user:mydomain\myusername mypassword"
Run Code Online (Sandbox Code Playgroud)

2)然后运行"文件系统任务"以执行复制.请记住,目标"平面文件连接" 必须将"DelayValidation"设置为True,因为z:\ suchandsuch.csv在设计时将不存在.

3)最后,当你完成另一个"执行过程任务"时取消映射驱动器

Executable: cmd.exe
Arguments: /c "NET USE Z: /delete"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@Valentino就像一个魅力.只添加结束指令/ yes参数`/ c"NET USE Z:/ delete/yes"`强制断开连接 (2认同)

小智 1

为什么不使用 FTP 任务将文件获取到本地计算机?在本地计算机上运行 SSIS。使用 FTP 以二进制方式传输时,速度非常快。请记住,SSIS 的 ROW 分隔符应该是 LF,而不是 CRLF,因为二进制 FTp 不会将 LF (unix) 转换为 CRLF (windows)