Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 包未从C执行#_C#_Ssis - Fatal编程技术网

C# 包未从C执行#

C# 包未从C执行#,c#,ssis,C#,Ssis,我有一个运行良好的包,它可以从BIDS(或者MS现在调用VS for SSI的任何东西)和执行包实用程序中运行 我试着用下面的代码从C#运行它,但什么也没发生。.Execute返回success,ExecutionStatus已完成。当.Execute需要一两分钟的时间时,它需要几秒钟,但它没有完成它应该做的事情(加载源文件,将它们移到其他地方,等等) 我遗漏了什么?您是否尝试捕获包事件 MyEventListener eventListener = new MyEventListener();

我有一个运行良好的包,它可以从BIDS(或者MS现在调用VS for SSI的任何东西)和执行包实用程序中运行

我试着用下面的代码从C#运行它,但什么也没发生。.Execute返回success,ExecutionStatus已完成。当.Execute需要一两分钟的时间时,它需要几秒钟,但它没有完成它应该做的事情(加载源文件,将它们移到其他地方,等等)


我遗漏了什么?

您是否尝试捕获包事件

MyEventListener eventListener = new MyEventListener();

var pkgLocation = @"C:\ImportMetricsPackage.dtsx";
var app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(pkgLocation, eventListener);
pkgResults = pkg.Execute(null, null, eventListener, null, null);
事件侦听器类:

class MyEventListener : DefaultEvents
{
    public override bool OnError(DtsObject source, int errorCode, string subComponent, 
    string description, string helpFile, int helpContext, string idofInterfaceWithError)
    {
        // Add application-specific diagnostics here.
        Console.WriteLine("Error in {0}/{1} : {2}", source, subComponent, description);
        return false;
    }
}

有关更多详细信息,请参阅。

您是否尝试捕获包事件

MyEventListener eventListener = new MyEventListener();

var pkgLocation = @"C:\ImportMetricsPackage.dtsx";
var app = new Microsoft.SqlServer.Dts.Runtime.Application();
pkg = app.LoadPackage(pkgLocation, eventListener);
pkgResults = pkg.Execute(null, null, eventListener, null, null);
事件侦听器类:

class MyEventListener : DefaultEvents
{
    public override bool OnError(DtsObject source, int errorCode, string subComponent, 
    string description, string helpFile, int helpContext, string idofInterfaceWithError)
    {
        // Add application-specific diagnostics here.
        Console.WriteLine("Error in {0}/{1} : {2}", source, subComponent, description);
        return false;
    }
}

有关详细信息,请参阅。

是的,无错误。我还尝试了OnPostExecute,它在包完成执行(无论它在做什么)之前触发了几次。是的,没有错误。我还尝试了OnPostExecute,它在包完成执行(无论它在做什么)之前触发了几次。启动SSIS包的代码是正确的。事实上,它的行为并不像预期的那样,这让我相信,当从代码开始时,它缺少了一些东西,可能是一个配置,并且它运行在默认值上,可能是不正确的值。如果未启用日志记录,请尝试使用SQL Server目标,并在信息、警告、预执行、执行后、OnError和OnTaskFailed上显示以下事件。信息和警告将识别配置问题。Pre/Post将给出任务时间(短时间)。错误和失败只是良好的实践。重新运行并检查输出。OnTaskFailed正在启动第一个SQL任务。我怎样才能获得更多关于它失败原因的信息?我尝试了一大堆没有用的东西(taskHost.Description/Name/ExecutionResult/ExecutionValue/InnerObject)。如果您将OnTaskFailed日志记录到文件或SQL表中,您应该能够查看消息列。否则,我认为@alex Filipovic链接的代码应该可以工作。如果我冒昧猜测一下,您将遇到身份验证问题。这不是从网页或类似的地方运行的,是吗?启动SSIS包的代码是正确的。事实上,它的行为并不像预期的那样,这让我相信,当从代码开始时,它缺少了一些东西,可能是一个配置,并且它运行在默认值上,可能是不正确的值。如果未启用日志记录,请尝试使用SQL Server目标,并在信息、警告、预执行、执行后、OnError和OnTaskFailed上显示以下事件。信息和警告将识别配置问题。Pre/Post将给出任务时间(短时间)。错误和失败只是良好的实践。重新运行并检查输出。OnTaskFailed正在启动第一个SQL任务。我怎样才能获得更多关于它失败原因的信息?我尝试了一大堆没有用的东西(taskHost.Description/Name/ExecutionResult/ExecutionValue/InnerObject)。如果您将OnTaskFailed日志记录到文件或SQL表中,您应该能够查看消息列。否则,我认为@alex Filipovic链接的代码应该可以工作。如果我冒昧猜测一下,您将遇到身份验证问题。这不是从网页或类似的东西上运行的,是吗?