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);
        }
示例#2
0
        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 SQL2016
            // This is a placeholder only, as BIML doesn't support 2016 yet
            // Assume default of 2014 for now.
            SsisVersion version = SsisVersion.Ssis2014;
            if (SSISHelpers.GetTargetServerVersion(project) == SsisTargetServerVersion.SQLServer2012)
            {
                // Downgrade Biml target version to match project target.
                version = SsisVersion.Ssis2012;
            }

            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);
#elif SQL2014
            ValidationReporter validationReporter = BidsHelper.CompileBiml(typeof(AstNode).Assembly, "Varigence.Biml.BidsHelperPhaseWorkflows.xml", "Compile", bimlScriptPaths, new List <string>(), tempTargetDirectory, projectDirectory, SqlServerVersion.SqlServer2008, SsisVersion.Ssis2014, SsasVersion.Ssas2008, DeployPackagesPlugin.IsLegacyDeploymentMode(project) ? SsisDeploymentModel.Package : SsisDeploymentModel.Project);
#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);
#endif
            return(validationReporter);
        }
示例#3
0
        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!");
            }
        }