В моем приложении задача script создается динамически.
В SQL Server 2008 реализация SSIS, следующий метод работал нормально.
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.");
}
}
Как перенести этот код на SQL Server 2012, потому что следующие методы удалены из dll-s (сборки) SQL Server 2012:
- InitNewScript
- AddProjectReference
- AddCodeFile
- SaveScriptToStorage
- CloseIDE
- Построить
- ShowDesigner
Как я могу динамически установить исходный код для задачи script в SQL Server 2012?