【问题标题】:Console application execute Dtsx file with error -1073679321控制台应用程序执行 Dtsx 文件时出现错误 -1073679321
【发布时间】:2019-09-18 14:07:52
【问题描述】:

我的代码没有问题。我知道这是因为控制台应用程序不仅仅在我的机器上执行。 基本上我加载包并执行后。

我试过了:

  • 以管理员身份执行 Visual Studio;
  • 安装 Microsoft SQL Server Data Tools 的所有功能

服务状态

  • SQL Server (MSSQKSERVER) -> 已启动
  • SQL Server (SQLEXPRESS) -> 已启动
  • SQL Server 代理 (MSSQKSERVER) -> 已停止
  • SQL Server 代理 (SQLEXPRESS) -> 已停止
  • SQL Server 浏览器 -> 已停止
  • SQL Server CEIP 服务 (SQLEXPRESS) -> 已启动
  • SQL Server Lounchpad (SQLEXPRESS) -> 已停止
  • SQL Server 报告服务 -> 停用

下面的代码,但没有错误。

    using Microsoft.SqlServer.Dts.Runtime;

    public void Execute()
    {
        Database database = DatabaseFactory.CreateDatabase("MyConnection");

        try
        {
            parametrosConfig = new ParametrosConfigBatch();
            string strPathPacote = parametrosConfig.PathDTSX;

            DataTable _dt = new DataTable();
            _dt = GetMyDataTable();

            package = app.LoadPackage(strPathPacote, null);

            Variables myVars = package.Variables;

            package.Variables["User::varArquivo"].Value = _dt;

            dtsResultado = package.Execute(null, myVars, null, null, null);

            if (dtsResultado == DTSExecResult.Success)
            {
                ...
            }
            else
            {
                ...  
            }       
        }
        catch (Exception ex)
        {
            ...
        }
        finally
        {
            insert.Close();
        }
    }

结果我收到失败消息:要在 SQL Server Data Tools 之外运行 SSIS 包,请安装 Integration Services Standard Edition(64 位)或更高版本。

Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure

错误代码:-1073679321
说明:要在 SQL Server Data Tools 之外运行 SSIS 包,请安装 Integration Services Standard Edition(64 位)或更高版本。

我认为需要安装一些东西,但不知道是什么。

【问题讨论】:

  • 错误消息显示要安装“集成服务标准版(64 位)或更高版本”。你试过吗? SSIS 依赖于 SQL SSIS 安装。
  • 是的。我知道那是 SQL Server Data Tools,我安装了:SQLServer Database、SQLServer Nalysis Services、SQLServer Reporting Services 和 SQLServer Integration Services。
  • 我的建议:在您的机器上启动 SQL Server 安装程序(您需要访问安装“磁盘”(即,上面有安装材料的磁盘或文件夹)。确保您已在您的机器上安装了集成服务。有一种方法可以查看 C:\Program Files\Microsoft SQL Server 中的安装日志并找出已安装/未安装的内容 - 但自从我翻遍这些信息以来已经将近 10 年了

标签: c# sql-server ssis etl dtexec


【解决方案1】:

根据您的问题,您似乎正在使用 SQL Server Express Edition,如果是这样,您将无法使用 SQL Server Integration Services,因为此版本不支持它们。 (It is only supported by Standard, Developer and Enterprise editions)

也指following documentation

SSIS 不包含在 SQL Server Express 版本中。

您可以尝试使用开发者版,因为它是免费的。

【讨论】:

    【解决方案2】:

    坦克哈迪,在你的帮助下,我可以解决问题。我想补充你的回答。

    为了解决这个问题,我做了以下操作:

    • 卸载所有 SQLServer 实例和工具。您无需从 SQL Server 中仅删除 SQL Management Studio 的所有功能。
    • 卸载 MV C++ 2017
    • 安装 MV C++ 2015
    • 安装 SQL Server Developer。在安装过程中,在功能选择中选择集成服务。

    卸载后别忘了重启操作系统。

    无论您的操作系统中是否安装了 Microsoft Visual C++ 2017,SQL Server 2017 安装结果错误。

    SQL 2017 需要 MV C++ 2015。因此您需要删除最新版本。

    检查您需要的集成服务状态:

    • 打开操作系统的服务管理器并找到名称 SQL Server Integration Services。服务的状态已启动。

    要从 SQL Server 下载,请使用 microsoft 站点 [https://www.microsoft.com/pt-br/sql-server/sql-server-downloads]

    不要使用 SQL Server Express 使用 Developer Edition。另请阅读 Hadi 的回答以了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-28
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多