internal static ValidationReporter GetValidationReporter(List <string> bimlScriptPaths, Project project, string projectDirectory, string tempTargetDirectory) { // ArgumentNullException - Value cannot be null. Parameter: input - Caused when using the 1.6 BIML engine version but 1.7 code, BidsHelperPhaseWorkflows xml file name mismatched. Biml vs Hadron #if KATMAI SsisVersion ssisVersion = BimlUtility.GetSsisVersion2008Variant(); ValidationReporter validationReporter = BidsHelper.CompileBiml(typeof(AstNode).Assembly, "Varigence.Biml.BidsHelperPhaseWorkflows.xml", "Compile", bimlScriptPaths, new List <string>(), tempTargetDirectory, projectDirectory, SqlServerVersion.SqlServer2008, ssisVersion, SsasVersion.Ssas2008, SsisDeploymentModel.Package); #elif DENALI ValidationReporter validationReporter = BidsHelper.CompileBiml(typeof(AstNode).Assembly, "Varigence.Biml.BidsHelperPhaseWorkflows.xml", "Compile", bimlScriptPaths, new List <string>(), tempTargetDirectory, projectDirectory, SqlServerVersion.SqlServer2008, SsisVersion.Ssis2012, SsasVersion.Ssas2008, DeployPackagesPlugin.IsLegacyDeploymentMode(project) ? SsisDeploymentModel.Package : SsisDeploymentModel.Project); #elif SQL2014 SsisVersion version = (SSISHelpers.GetProjectTargetVersion(project) == SSISHelpers.ProjectTargetVersion.SQLServer2012 ? SsisVersion.Ssis2012 : SsisVersion.Ssis2014); ValidationReporter validationReporter = BidsHelper.CompileBiml(typeof(AstNode).Assembly, "Varigence.Biml.BidsHelperPhaseWorkflows.xml", "Compile", bimlScriptPaths, new List <string>(), tempTargetDirectory, projectDirectory, SqlServerVersion.SqlServer2008, version, SsasVersion.Ssas2008, DeployPackagesPlugin.IsLegacyDeploymentMode(project) ? SsisDeploymentModel.Package : SsisDeploymentModel.Project); #else ValidationReporter validationReporter = BidsHelper.CompileBiml(typeof(AstNode).Assembly, "Varigence.Biml.BidsHelperPhaseWorkflows.xml", "Compile", bimlScriptPaths, new List <string>(), tempTargetDirectory, projectDirectory, SqlServerVersion.SqlServer2005, SsisVersion.Ssis2005, SsasVersion.Ssas2005, SsisDeploymentModel.Package); #endif return(validationReporter); }
private void RefreshProjectAndPackageProperties() { //save package to disk if (projectItem.Document != null && !projectItem.Document.Saved) { projectItem.Save(""); } //get package password Microsoft.DataTransformationServices.Design.DtsBasePackageDesigner rootDesigner = typeof(EditorWindow).InvokeMember("designer", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly | System.Reflection.BindingFlags.GetField, null, parentWin, null) as Microsoft.DataTransformationServices.Design.DtsBasePackageDesigner; if (rootDesigner == null) { throw new Exception("Can't find SSIS Package designer control."); } this.packagePassword = rootDesigner.GetPackagePassword(); ssisApp.PackagePassword = this.packagePassword; //get setting that says whether to use 64-bit dtexec Microsoft.DataTransformationServices.Project.DataTransformationsProjectConfigurationOptions options = (Microsoft.DataTransformationServices.Project.DataTransformationsProjectConfigurationOptions)projectManager.ConfigurationManager.CurrentConfiguration.Options; this.use64Bit = options.Run64BitRuntime; #if SQL2014 //refreshes the cached target version which is needed in GetPathToDtsExecutable below SSISHelpers.ProjectTargetVersion?projectTargetVersion = SSISHelpers.GetProjectTargetVersion(this.projectItem.ContainingProject); #endif //get path to dtexec this.dtexecPath = GetPathToDtsExecutable("dtexec.exe", this.use64Bit); if (this.dtexecPath == null && this.use64Bit) { this.dtexecPath = GetPathToDtsExecutable("dtexec.exe", false); } if (this.dtexecPath == null) { throw new Exception("Can't find path to dtexec in registry!"); } }