0

我们有一个简单的 SSIS 包,可以将平面文件导入表中。唯一的问题是平面文件驻留在网络共享上,现在我唯一遇到的问题是当我尝试从本地计算机上的 SSMS 执行它时。

  • 所以我的机器是 ws1 运行 Sql Server management studio (SSMS)
  • 实例在 srv1 上运行
  • 平面文件驻留在 srv2 上的网络共享 share1
  • 所以连接字符串是\srv2\share1\folder\file.txt
  • 我得到的错误是:cannot open the datafile "\\srv2\share1\folder\file.txt"

当我在 srv1 上使用 SSMS 运行它时,它就像一个魅力!我只在ws1上得到这个错误......

这里有一些更多信息:

  • share1 对每个人都具有完全权限。
  • SSIS 服务帐户在域帐户下运行。
  • 我正在尝试从 SSISDB 而不是从 MSDB 执行包。

2013 年 4 月 4 日添加

我在上面运行了进程监视器(procmon),结果如下:

  • 当它在 srv1 上执行时,它以一个QueryOpen操作开始,createFile、ReadFile 等等等等一切都导致SUCCESS......
  • 当它在 ws1 上执行时,它以 FileSystemControl 操作开始,路径是\\srv2\IPC$,结果是NO SUCH DEVICE,细节是,Control: FSCTL_DFS_GET_REFERRALS然后它有另一个FileSystemContro成功的操作,细节是Control: FSCTL_NETWORK_DELETE_CONNECTION,然后它有很多尝试访问文件\\srv2\share1\folder\file.txtACCESS DENIED对于所有.. .
  • 果然,当我查看属性时,用户是有权访问共享的域用户,因为它已共享给所有人......

谁能定义这个奥秘?

4

0 回答 0