2013-01-08 46 views
1

我是新来的SSIS和现在所面临的问题从远程服务器读取文件问题啤酒花

  1. 我在项目级别定义的平面文件连接,其中ConnectionString由变量say @AbsoluteFilePath定义。

  2. @AbsoluteFilePath值是在运行时计算的UNC说:

    \\myserver\myfolder\myfile.txt

  3. 我有一个调用包的执行Web应用程序。

  4. 我能够以登录用户身份查看文件夹,但是在读取文件时,程序包的执行会以错误结束。

    执行失败,return code 0XC020200E

  5. 我试图映射我UNC \\myserver\myfolderZ:其中SQL 2012运行的计算机上的错误消息。然而,这也给了我同样的错误。

在SSIS中使用UNC是否明智?做这个任务的标准方式是什么?

以下是我想要实现完整的工作流程:

全貌

用户选取的Web前端的文件。 Web应用程序会将 文件保存在共享驱动器中并调用SSIS程序包来运行。 SSIS 包从共享驱动器读取文件并执行所需的 操作。

更新:解释权限和存储过程运行SSIS包

  1. Web应用程序X服务器服务器的网络上运行
  2. SSIS包Y上服务器上运行server-ssis
    1. 访问数据库的服务器服务器的数据库上
    2. 访问UNC其中上的服务器服务器文件系统

软件包正在通过执行存储过程运行运行这里提到的存储过程http://msdn.microsoft.com/en-us/library/ff878099.aspx

使用的连接字符串通过服务器的Web的形式为

Data Source=server-ssis;Initial Catalog=SSISDB;Integrated Security=SSPI; 
+1

我所遇到的问题,其中管理员已分配完全控制到一个文件夹为我们的SSIS服务帐户,但没有后到实际的份额。共享选项卡,高级共享,权限,添加。这有什么区别? – billinkc

回答

1

我敢打赌美元dumplin的,这是一个权限问题(除了实际上对于0XC020200E产量搜索有关文件权限命中)。

检查运行Web应用程序的帐户的权限。它需要被授予共享权限。它适用于您的帐户或登录用户,但这可能是而不是与运行该软件包的帐户相同。

+0

我更新了我的问题,提供了我拥有的权限的详细信息。我仍然收到相同的错误 – frictionlesspulley

+1

把你的软件包放入一个SQL代理作业并尝试执行它。如果这可行,请尝试执行SQL作业,而不是直接调用包。 – user1826905

+0

@ user1826905这种方法唯一的挑战是作业将异步运行,并且调用Web应用程序可能需要等到它完成,侦听错误事件等。 – billinkc

0

@ user1826905您说得对,使用SQL Agent作业调用SSIS包证明是从Web应用程序调用SSIS包的最简单方法。

此链接http://msdn.microsoft.com/en-us/library/ms403355.aspx给出了使用web服务

有调用SSIS这我是第三种方式调用使用SQL代理作业

  • SSIS包

    1. 的两种不同方式尝试使用存储过程http://msdn.microsoft.com/en-us/library/ff878099.aspx但跨多个服务器跃点工作时存在问题Kerberos代表团解释here

      我们仍然在努力在用这种方式来访问UNC由于访问更改为匿名用户