1
我正在使用EzAPI通過.NET創建SSIS包,但是當我將現有包加載爲具有現有組件(序列容器和執行SQL任務等)的模板時,EzExec集合爲空,而DTS可執行文件集合有許多成員。我需要將這些現有組件中的一些作爲父母和先決條件引用到我想通過EzAPI添加到包中的任務。SSIS,EzAPI,Template
我是否錯過了包裝的初始化,或者這甚至有可能?
下面是我對去除佈局信息試圖代碼的編輯的樣本,這仍然沒有工作,可執行文件的數量是7,EzExexs計數爲0
感謝, 安德魯
public static EzPackage loadPackageTemplate(string templateLocation)
{
EzPackage ezPackage = new EzPackage();
try
{
StreamReader s = new StreamReader(templateLocation);
string templateContents = s.ReadToEnd();
s.Close();
templateContents = removeLayoutInformation(templateContents);
ezPackage.LoadFromXML(templateContents);
}
catch (Exception)
{
throw;
}
//need to remove layout from template
return ezPackage;
}
public static string removeLayoutInformation(string strXML)
{
try
{
//Remove the layout information.
while (strXML.IndexOf("<DTS:PackageVariable>") > -1)
{
strXML = strXML.Remove(strXML.IndexOf("<DTS:PackageVariable>"), strXML.IndexOf("</DTS:PackageVariable>") - strXML.IndexOf("<DTS:PackageVariable>") + 22);
}
}
catch (Exception)
{
throw;
}
return strXML;
}
public static EzExecutable GetExecutable(EzPackage ezPac, string identifier)
{
EzExecutable toReturn = null;
foreach (EzExecutable ezEx in ezPac.EzExecs)
{
if (ezEx.EzName == identifier)
{
toReturn = ezEx;
break;
}
}
return toReturn;
}
EzPackage pac = SSISGen.loadPackageTemplate(@"C:\Temp\SSISPackageTemplates\LoadFact.dtsx");
@billinkc嗨
代碼,非常感謝您的答覆,我想,沒有成功(我以前使用這種方法,但只能保存包時)。我用新的代碼編輯了原文。 – guytz72