gpt4 book ai didi

asp.net - 如何在 asp.net 核心应用程序中运行 ssis 包?

转载 作者:行者123 更新时间:2023-12-03 22:18:02 26 4
gpt4 key购买 nike

我已经使用 Microsoft.SqlServer.Dts.Runtime 在 ASP.NET MVC 中运行包。但是我需要在 asp.net core 中运行它。由于我们无法在 asp.net 核心中添加单个 dll,我想知道是否有人知道是否有 nuget 包会有所帮助。

最佳答案

只是为了详细说明我是如何解决这个问题的。下面是答案

要运行 SSIS 包,您需要以下代码中的 DLL

  • Microsoft.SqlServer.ManagedDTS.dll
  • Microsoft.SqlServer.PipelineHost.dll
  • Microsoft.SqlServer.DTSRuntimeWrap.dll
  • Microsoft.SqlServer.DTSPipelineWrap.dll

  • 在 MVC 项目中添加 DLL 很容易,但是在 asp.net core 中,它需要采用 Nuget 包的形式。

    因此可以使用 nuget 包资源管理器轻松创建 nuget 包。下面是链接

    https://docs.nuget.org/create/using-a-gui-to-build-packages

    在 nuget 包资源管理器中添加一个 lib 文件夹,在其中添加一个 .net 文件夹 dnxcore50 并添加上述 DLL。单击工具分析包并保存nuget

    enter image description here

    在 Visual Studio 2015 解决方案中,您可以引用本地包。
    工具 - Nuget 包管理器 - 包管理器设置 - 包源
    添加本地包路径。

    enter image description here

    之后,您将能够使用 nuget 包管理器添加 nuget 包并选择本地包作为源

    enter image description here

    如果还原包时出错,请将 dnxcore 添加到 imports 部分并将 "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027"添加到 project.json 中的依赖项
    "dependencies": {
    "Microsoft.AspNet.Hosting": "1.0.0-rc1-final",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",
    "SSISPackage": "1.0.0"
    }

    "frameworks": {
    "netcoreapp1.0": {
    "imports": [
    "dotnet5.6",
    "portable-net45+win8",
    "dnxcore"
    ]
    }
    }

    之后,您将能够使用代码来运行类似于 MVC 项目的 SSIS 包。
    Application app = new Application();
    Package package = null;
    try
    {
    package = app.LoadPackage(@"C:\Files\Package.dtsx", null);
    Variables vars = package.Variables;
    vars["status"].Value = "ACTIVE";

    DTSExecResult results = package.Execute();

    }
    catch
    {
    return false;

    }
    finally
    {
    package.Dispose();
    package = null;
    }

    关于asp.net - 如何在 asp.net 核心应用程序中运行 ssis 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38791987/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com