Nella mia applicazione, un'attività di script viene creata dinamicamente.Imposta codice attività Script in modo dinamico in SSIS 2012
Nell'implementazione di SSIS di SQL Server 2008, il seguente metodo ha funzionato correttamente.
private void SetSourceCode(ScriptTask scriptTask, string code, string codeName)
{
string fileName = "ScriptMain.vb";
string language = "VisualBasic";
string proj = ".vbproj";
scriptTask.ScriptLanguage = VSTAScriptLanguages.GetDisplayName(language);
scriptTask.ScriptingEngine.InitNewScript(language,
scriptTask.ScriptProjectName, proj);
scriptTask.ScriptingEngine.ShowDesigner(false);
scriptTask.ScriptingEngine.AddCodeFile(fileName, code);
if (!scriptTask.ScriptingEngine.Build())
throw new Exception("Failed to build vb script code: " + codeName);
scriptTask.ScriptingEngine.SaveScriptToStorage();
if (!scriptTask.ScriptingEngine.CloseIDE(false))
{
throw new Exception("Unable to close Scripting engine.");
}
}
Come faccio a migrare questo codice di SQL Server 2012, perché seguenti metodi vengono rimossi da SQL Server 2012 dll-s (assemblee):
- InitNewScript
- AddProjectReference
- AddCodeFile
- SaveScriptToStorage
- CloseIDE
- costruire
- ShowDesigner
In generale, come faccio in modo dinamico insieme di codici sorgente per un'attività di script in SQL Server 2012?
+1 e una stella per te poiché non ho mai provato a farlo. La documentazione che trovo si riferisce al [ScriptingEngine] (http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.tasks.scripttask.vstataskscriptingengine.aspx) e afferma "Questa API supporta SQL Server Infrastruttura del 2012 e non è destinato ad essere utilizzato direttamente dal tuo codice "quindi non devo essere abbastanza duro. Peccato per il fatto che ho dei fuochi di produzione da frequentare, sembra una sfida divertente – billinkc
Per spingerti nella giusta direzione (dato che ho fatto solo questo per Componenti script e non per Script) c'è una nuova interfaccia VSTA per SSIS 2012, la Classe VSTAHelper - http://tinyurl.com/vstahelper - dove sono andati tutti i tuoi metodi. –