【问题标题】:executing ssis package from a computer where integration services in not installed从未安装集成服务的计算机执行 ssis 包
【发布时间】:2023-04-10 13:24:01
【问题描述】:

我在 Web 应用程序中使用以下代码行来执行驻留在安装了集成服务的其他服务器上的包。但我无法在应用程序服务器上执行它。

        string pkgLocation;
        Microsoft.SqlServer.Dts.Runtime.Package pkg;
        Application app;
        DTSExecResult pkgResults;

        pkgLocation = @"\\hddlntd6021985\ssis\Package1.dtsx";

        app = new Application();
        pkg = app.LoadPackage(pkgLocation, null);
        pkgResults = pkg.Execute();

       Response.Write(pkgResults.ToString());

【问题讨论】:

    标签: c# asp.net sql ssis


    【解决方案1】:

    远程运行包总是一个问题。你有几个机会,但它们都不能完美地发挥作用。 This 文章解释了您的机会以及每个机会的优缺点。你试图做的是第一点。

    另一种方法是使用this 文章中解释的 PowerShell 远程处理。在我的一个项目中,我以这种方式远程运行了一个包,但是由于他们的安全策略,IT 不允许使用它。 (PowerShell Remoting 打开端口 5985 和 5986)我认为这是一个简单的解决方案。比在数据库服务器上开发服务更简单。因此,如果允许您在数据库服务器上打开这些端口,您可以考虑使用 PowerShell。

    【讨论】:

      【解决方案2】:

      不安装 SSIS 就无法运行 SSIS 包。但是,您可以execute a package remotely(注意该页面上的第一句),这样您的应用程序服务器仍然可以在 SSIS 服务器上执行包。

      【讨论】:

      • 实际上问题是我的应用程序安装在应用程序服务器上。我的数据库和包位于数据库服务器。现在我必须找到一种方法让我的应用程序执行 ssis 包而不在这里安装集成服务.
      • 是的,这就是我的理解。我的回答如何不适用于您的情况?
      • 如果我在 db server 上创建服务,我必须安装 iis 以在 dbserver 上托管该服务,这是客户端不接受的。
      • 使用计划作业而不是服务怎么样?或者购买另一个 MSSQL 许可证并在应用服务器上安装 SSIS?最后,如果您的客户(或您!)需要某些工具,他们必须准备好支付使用它们的财务和技术成本。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 2011-02-12
      • 2011-03-10
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多