2010-06-23 32 views
0

我在通过asp.net应用程序执行SSIS包时遇到问题。我正在使用C#。每次我通过网络运行包时,我认为包没有正确处理,直到除非我停止应用程序包,包不会执行...我无法处理或卸载包...通过asp.net c#应用程序执行SSIS包的问题

即时geeting错误等

'WebDev.WebServer.EXE'(管理):加载 'C:\ Windows \组件\ GAC_32 \ CustomMarshalers \ 2.0.0.0__b03f5f7f11d50a3a \ CustomMarshalers.dll',跳过加载符号。模块已经过优化,调试器选项“Just My Code”已启用。 属性“SqlStatementSource”上的表达式“”EXEC“+ @ [User :: vRowData]”的结果无法写入属性。该表达进行了评估,但不能在该属性上设置。 :包执行结果:{0}

这里是我的代码

应用程式=新的应用程序(); (“D:\ ChipRewards_WorkingFolder \ ChipRewards \ Codebase \ HeathPlan \ Common \ Trunk \ SSIS Package \ ETL_WorkFlow \ ETL_WorkFlow \ DataImport.dtsx”,null); //套餐包= app.LoadPackage //package.ImportConfigurationFile("D:\ChipRewards_WorkingFolder\ChipRewards\Codebase\HeathPlan\Common\Trunk\SSIS Package \ ETL_WorkFlow \ ETL_WorkFlow \ ETLConfig.dtsConfig“);

  using (Package package = app.LoadPackage("D:\\ChipRewards_Test_Environment\\Test\\ETL_WorkFlow\\ETL_WorkFlow\\DataImport.dtsx", null, true)) 
      { 
       package.ImportConfigurationFile("D:\\ChipRewards_Test_Environment\\Test\\ETL_WorkFlow\\ETL_WorkFlow\\ETLConfig.dtsConfig"); 

       DTSExecResult result = package.Execute(); 

       if (result == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure) 
       { 
        foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in package.Errors) 
        { 

         Debug.WriteLine("Package Execution results: {0}", local_DtsError.Description.ToString()); 
        } 
       } 
       package.Dispose(); 
      } 

我不知道发生了什么......我会很感激,如果有人可以帮助我解决了问题...

感谢, 抗 - 旗

+0

你为什么使用package.Dispose();内部使用块?你可以在使用结束后设置package = null,如果这就是你的意思 – iTSrAVIE 2016-05-26 13:39:17

回答

0

望着这一点: -

属性“SqlStatementSource”上的表达式“”EXEC“+ @ [User :: vRowData]”的结果无法写入属性。

这听起来像是配置文件和表达式试图加载的问题。