0

我创建了一个 SSIS 包,它在从 SQL Server Data Tools 启动时运行平稳(我在我的 PC 上使用 SSDT 2015 和 SQL Server 2005 Developer Edition),但是当我从 .NET 运行它时,日志中只有以下行失败应用程序:

Fields: event,computer,operator,source,sourceid,executionid,starttime,endtime,datacode,databytes,message
OnPreValidate,<my_computer>,<my_operator>,Test,{E7D40776-05B7-4D1D-8D78-8C87E722E596},{755AD039-B5B4-42B0-9ECA-E396054DEB2F},28.10.2016 14:44:06,28.10.2016 14:44:06,0,0x,

我使用以下代码从我的 .NET 应用程序中调用包(我只是从 SSIS 项目中复制了 .NET 项目中的 SSIS 包,并指定将其复制到输出目录,以便我可以从文件系统中调用它):

public void Execute(string filePath, DateTime period)
{
    var pkg = app.LoadPackage(filePath, null);
    var variables = pkg.Variables;
    variables["Period"].Value = period;
    var pkgResults = pkg.Execute(null, variables, null, null, null);
}

我能找到的与我的问题相关的唯一链接是https://social.msdn.microsoft.com/Forums/sqlserver/en-US/75e4d6fc-3b6f-4ca1-bf12-e823076325cd/package-fails-after-onprevalidate-but -not-in-bids?forum=sqlintegrationservices 我尝试将包保护级别切换为DontSaveSensitiveData,但没有帮助。

我究竟做错了什么?有没有办法至少获得一些关于为什么包失败的正确数据?

4

1 回答 1

0

解决了,问题。结果是:

  1. SSDT 2015 不能用于为 SSIS 2005 开发包(仅适用于 SSIS 2012 及更高版本)。

  2. 我不知何故在我的项目中引用了错误版本的Microsoft.SqlServer.ManagedDTSDLL(SSIS 2014 的那个)。我已经为 SSIS 2005 引用了 DLL,一切正常。

于 2016-11-02T13:47:11.897 回答