【问题标题】:How to import a file when SSIS is on another server当 SSIS 在另一台服务器上时如何导入文件
【发布时间】:2009-05-13 17:03:03
【问题描述】:

我希望用户通过我们的网站 (ASP.NET) 上传文件,然后使用 SSIS 将其导入 SQL Server 2005。我们的 Web 应用分为 Web 服务器 (IIS) 和数据库服务器 (SQL Server)。

问题是文件上传到网络服务器后,不能直接从 ASP.NET 代码调用 SSIS 包,因为 SSIS 包只能在安装了 SQL Server 的服务器上运行。

我考虑过各种各样的事情,比如将文件通过 FTP 传输到数据库服务器,然后让文件观察器等待它。或者远程调用 SSIS 包,然后从 Web 服务器获取文件。但是我还没有尝试过。

我真的很想知道是否有人解决了这个问题以及他们是如何解决的。我们计划做很多这样的事情(即通过网站上传文件并导入数据库),所以我追求的是一个可以反复重复的坚如磐石的过程。

【问题讨论】:

    标签: asp.net sql-server ssis


    【解决方案1】:

    只要包具有文件的可解析路径并且 SQL Server 进程具有必要的权限,则该文件不必与您的 SQL Server 位于同一位置。

    我们为我们的主要应用程序执行此操作,尽管它不是基于 Web 的。任何可用的指定机器都可以包含传入的文件,然后我们的 SSIS 包从数据库中查找文件位置信息。包可以在调用时将其作为参数接收 - 我们对此进行了测试。

    我个人不知道在这种情况下使用您的网络服务器作为文件主机的可行性(我所有的工作都在内部托管的应用程序上)。

    【讨论】:

    • 所以,我只需要确保 SQL Server 可以访问 Web 服务器上的文件。我只需要一种远程(从 Web 服务器)调用 SSIS 包并传入参数的好方法。感谢您的帮助。
    • 需要注意的一点是文件权限(与文件夹的访问权限分开)。 SQL Server 进程必须位于可以读取由删除文件的进程写入的内容的组中。如果您移动或删除文件后处理,这些权限也需要存在。如果客户进行一次性的非正常流程修改并且最终删除文件的人不在适当的组中,我们就会遇到问题。
    【解决方案2】:

    它可能不适合您的部署,但可以在您的 Web 服务器上独立于 SQL Server 服务安装 SSIS 服务。我相信独立的 SSIS 安装需要自己的 SQL 许可证。

    另外,虽然它没有直接反映您的情况,但this thread 看起来可能有一些相关的建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-23
      • 2018-06-13
      • 2020-04-14
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多