【发布时间】:2010-06-23 19:09:27
【问题描述】:
我在通过 asp.net 应用程序执行 SSIS 包时遇到问题。我正在使用 c#。每次我通过网络运行包时,我认为包没有正确处理,所以除非我停止应用程序,否则包将不会执行......我无法处理或卸载包......
我遇到了类似
的错误'WebDev.WebServer.EXE'(托管):加载 'C:\WINDOWS\assembly\GAC_32\CustomMarshalers\2.0.0.0__b03f5f7f11d50a3a\CustomMarshalers.dll',跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 属性 "SqlStatementSource" 上的表达式 ""EXEC " + @[User::vRowData]" 的结果无法写入该属性。表达式已评估,但无法在属性上设置。 :包执行结果:{0}
这是我的代码
应用程序 app = new Application(); //Package package = app.LoadPackage("D:\ChipRewards_WorkingFolder\ChipRewards\Codebase\HeathPlan\Common\Trunk\SSIS Package\ETL_WorkFlow\ETL_WorkFlow\DataImport.dtsx", null); //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();
}
我不知道发生了什么...如果有人可以帮助我解决问题,我将非常感激...
谢谢, 反旗
【问题讨论】:
-
你为什么要使用 package.Dispose();内部使用块?你可以在使用结束后设置 package = null,如果这是你的意思