我正在尝试从C#控制台应用程序运行本地SSIS包。我在VisualStudio 2012中使用.Net 4.5.1构建了包和应用程序。当我说“本地”时,我的意思是SSIS包尚未部署到SQL Server;我只是想从文件系统中调用.dtsx文件。 SSIS包在VisualStudio中运行良好。这是我的代码:
string pkgLocation = @"C:\Users\06717\Documents\Visual Studio 2012\Projects\RMA_Data_Cleanup\RMA_Data_Cleanup\";
string pkgName = "Package.dtsx";
Application app = new Application();
Package pkg = new Package();
DTSExecResult pkgResults = new DTSExecResult();
try
{
pkg = app.LoadPackage(pkgLocation + pkgName, null);
显然,此后还有更多,但问题来自app.LoadPackage行。当我尝试运行它时,会抛出此异常:
由于错误0xC0011008导致程序包无法加载“从XML加载时出错。无法为此问题指定更详细的错误信息,因为没有事件对象被传递,可以存储详细的错误信息。”当CPackage :: LoadFromXML失败时会发生这种情况。
我用谷歌搜索了这个错误信息,我还没有发现任何似乎适用于我的情况。我发生的一件事是,我可能正在调用错误的dtsx文件。 obj \ Development文件夹中还有另一个。我也试过调用那个,但我得到了同样的例外。我打电话给正确的档案吗?除了构建软件包之外,我还需要在Visual Studio中做些什么才能做到这一点吗? (pkgResults =成功,BTW)