Inheritance: ConfigurationSection
		public ConnectionStringsSectionNodeBuilder(IServiceProvider serviceProvider, ConnectionStringsSection conectionStringsSection, string defaultDatabaseName, DatabaseSectionNode databaseSectionNode)
			: base(serviceProvider)
		{
			this.connectionStringSections = conectionStringsSection;
			this.databaseSectionNode = databaseSectionNode;
			this.defaultDatabaseName = defaultDatabaseName;
		}
        public void SkipsConnectionStringsWithoutProviderNamesOrWithProviderNamesWhichDoNotMapToAProviderFactory()
        {
            DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource();
            ConnectionStringsSection section = new ConnectionStringsSection();
            section.ConnectionStrings.Add(new ConnectionStringSettings("cs1", "cs1", "System.Data.SqlClient"));
            section.ConnectionStrings.Add(new ConnectionStringSettings("cs2", "cs2"));
            section.ConnectionStrings.Add(new ConnectionStringSettings("cs3", "cs3", "a bogus provider name"));
            section.ConnectionStrings.Add(new ConnectionStringSettings("cs4", "cs4", "System.Data.SqlClient"));
            configurationSource.Add("connectionStrings", section);

            var factory = new DatabaseProviderFactory(configurationSource.GetSection);

            Assert.AreEqual("cs1", factory.Create("cs1").ConnectionString);
            Assert.AreEqual("cs4", factory.Create("cs4").ConnectionString);
            try
            {
                factory.Create("cs2");
                Assert.Fail("should have thrown");
            }
            catch (InvalidOperationException)
            {
                // expected, connection string is ignored
            }

            try
            {
                factory.Create("cs3");
                Assert.Fail("should have thrown");
            }
            catch (InvalidOperationException)
            {
                // expected, connection string is ignored
            }
        }
Example #3
0
        internal static string GetConnectionString(string name)
        {
            // Get the connectionStrings section.
            System.Configuration.ConnectionStringsSection connectionStringsSection =
                WebConfigurationManager.GetSection("connectionStrings")
                as System.Configuration.ConnectionStringsSection;

            ConnectionStringSettingsCollection connectionStrings =
                connectionStringsSection.ConnectionStrings;


            // Get the connectionStrings key,value pairs collection.
            IEnumerator connectionStringsEnum = connectionStrings.GetEnumerator();

            int i = 0;

            while (connectionStringsEnum.MoveNext())
            {
                if (name == connectionStrings[i].Name)
                {
                    return(connectionStrings[i].ConnectionString);
                }
                i += 1;
            }

            return("");
        }
Example #4
0
        /// <summary>
        ///  根据键值获取ConnectionStrings配置文件
        /// </summary>
        /// <returns></returns>
        public static Dictionary <string, string> GetConnectionStringsConfig()
        {
            Dictionary <string, string> dict = new Dictionary <string, string>();

            try
            {
                foreach (string key in ConfigurationManager.ConnectionStrings)
                {
                    dict.Add(key, ConfigurationManager.ConnectionStrings[key].ToString());
                }
            }
            catch (Exception)
            {
                // Get the configuration file.
                System.Configuration.Configuration config =
                    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

                // Get the appSettings section.
                System.Configuration.ConnectionStringsSection appSettings =
                    (System.Configuration.ConnectionStringsSection)config.GetSection("connectionStrings");
                if (appSettings.ConnectionStrings.Count != 0)
                {
                    foreach (string key in appSettings.ConnectionStrings)
                    {
                        string value = appSettings.ConnectionStrings[key].ToString();

                        dict.Add(key, value);
                    }
                }
            }
            return(dict);
        }
 static ConnectionStringsSection GetConnectionStringsSection()
 {
     ConnectionStringsSection section = new ConnectionStringsSection();
     ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(instanceName, connectionString, providerName);
     section.ConnectionStrings.Add(connectionStringSettings);
     return section;
 }
Example #6
0
        // This function shows how to write a key/value
        // pair to the appSettings section.
        static void WriteSettings(string name, string connectionString, string providerName)
        {
            // Get the application configuration file.
            System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);


            //// Create a unique key/value pair to add to
            //// the appSettings section.
            //string keyName = "AppStg" + config.AppSettings.Settings.Count;
            //string value = string.Concat(DateTime.Now.ToLongDateString(),
            //               " ", DateTime.Now.ToLongTimeString());

            //// Add the key/value pair to the appSettings
            //// section.
            //// config.AppSettings.Settings.Add(keyName, value);
            //System.Configuration.AppSettingsSection appSettings = config.AppSettings;
            //appSettings.Settings.Add(keyName, value);

            //// Save the configuration file.
            //config.Save(ConfigurationSaveMode.Modified);

            //// Force a reload in memory of the changed section.
            //// This to to read the section with the
            //// updated values.
            //ConfigurationManager.RefreshSection("appSettings");

            System.Configuration.ConnectionStringsSection connection = config.ConnectionStrings;
            connection.ConnectionStrings.Remove("Name");
            connection.ConnectionStrings.Add(new ConnectionStringSettings(name, connectionString, providerName));
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("connectionStrings");
        }
            public void AddTo(ConnectionStringsSection section)
            {
                var setting = new ConnectionStringSettings(settings.Name, 
                    settings.ConnectionString, settings.ProviderName);

                section.ConnectionStrings.Add(setting);
            }
		/// <summary>Sets properties configuration dictionary based on configuration in the database section.</summary>
		/// <param name="config">The database section configuration.</param>
		/// <param name="connectionStrings">Connection strings from configuration</param>
		protected void SetupProperties(DatabaseSection config, ConnectionStringsSection connectionStrings)
		{
			NHibernate.Cfg.Environment.UseReflectionOptimizer = Utility.GetTrustLevel() > System.Web.AspNetHostingPermissionLevel.Medium;

			// connection

			Properties[NHibernate.Cfg.Environment.ConnectionStringName] = config.ConnectionStringName;
			Properties[NHibernate.Cfg.Environment.ConnectionProvider] = "NHibernate.Connection.DriverConnectionProvider";
			Properties[NHibernate.Cfg.Environment.Hbm2ddlKeyWords] = "none";

			SetupFlavourProperties(config, connectionStrings);

			bool useNonBatcher = 
				// configured batch size <= 1
				(batchSize.HasValue && batchSize.Value <= 1)
				// medium trust in combination with sql client driver 
				// causes fault: Attempt by method 'NHibernate.AdoNet.SqlClientSqlCommandSet..ctor()' to access method 'System.Data.SqlClient.SqlCommandSet..ctor()' failed.   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
				|| (Utility.GetTrustLevel() <= System.Web.AspNetHostingPermissionLevel.Medium && typeof(SqlClientDriver).IsAssignableFrom(Type.GetType(Properties[Environment.ConnectionDriver])));
			if (useNonBatcher)
				Properties[NHibernate.Cfg.Environment.BatchStrategy] = typeof(NonBatchingBatcherFactory).AssemblyQualifiedName;

			SetupCacheProperties(config);

			if (config.Isolation.HasValue)
				Properties[NHibernate.Cfg.Environment.Isolation] = config.Isolation.ToString();

			foreach (string key in config.HibernateProperties.AllKeys)
			{
				Properties[key] = config.HibernateProperties[key].Value;
			}
		}
 public void SetUp()
 {
     loggingSettings = new LoggingSettings();
     connectionStringsSection = new ConnectionStringsSection();
     configurationSource = new DictionaryConfigurationSource();
     configurationSource.Add(LoggingSettings.SectionName, loggingSettings);
     configurationSource.Add("connectionStrings", connectionStringsSection);
 }
Example #10
0
        public void SetConnectionString(string str_Key, string str_ConnectionString)
        {
            Configuration myConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            System.Configuration.ConnectionStringsSection mySection = (System.Configuration.ConnectionStringsSection)myConfig.GetSection("connectionStrings");
            mySection.ConnectionStrings[str_Key].ConnectionString = str_ConnectionString;
            myConfig.Save();
        }
 private static ConnectionStringsSection GenerateConnectionStringSection()
 {
     ConnectionStringsSection section = new ConnectionStringsSection();
     section.ConnectionStrings.Add(new ConnectionStringSettings("Service_Dflt", "Data Source=ORACLE82;User id=system;Password=aaaabbbccc;", "Oracle.DataAccess.Client"));
     section.ConnectionStrings.Add(new ConnectionStringSettings("NewDatabase", "Data Source=XE;User id=system;Password=admin;", "Oracle.DataAccess.Client"));
     section.ConnectionStrings.Add(new ConnectionStringSettings("DbWithOracleAuthn", "Data Source=XE;User id=system;Password=admin;", "Oracle.DataAccess.Client"));
     section.ConnectionStrings.Add(new ConnectionStringSettings("NwindPersistFalse", "Data Source=XE;User id=system;Password=admin;Persist Security Info=false;", "Oracle.DataAccess.Client"));
     return section;
 }
		public ConnectionStringsSection Build()
		{
			connectionStringsSection = new ConnectionStringsSection();
			foreach (ConnectionStringSettingsNode node in connectionStringsSectionNode.Nodes)
			{
				BuildConnectionString(node);
			}
			return connectionStringsSection;
		}
 public static void Reload()
 {
     Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
     ConnectionStringsSection = Config.GetSection("userConnectionStrings") as System.Configuration.ConnectionStringsSection;
     if (ConnectionStringsSection == null)
     {
         ConnectionStringsSection = new System.Configuration.ConnectionStringsSection();
         ConnectionStringsSection.SectionInformation.set_AllowExeDefinition(ConfigurationAllowExeDefinition.MachineToLocalUser);
         Config.Sections.Add("userConnectionStrings", ConnectionStringsSection);
         Config.Save();
     }
 }
Example #14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DBInfo"/> class. 
        /// </summary>
        /// <param name="connectionStringSettings">
        /// The db connection settings
        /// </param>
        public DBInfo(string connectionString)
        {
            if (string.IsNullOrEmpty(connectionString))
                throw new ArgumentNullException("connectionStringSettings");

            DictionaryConfigurationSource source = new DictionaryConfigurationSource();
            ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(Constants.ConnectionStringSettingsName, connectionString, Constants.SystemDataSqlite);
            ConnectionStringsSection section = new ConnectionStringsSection();
            section.ConnectionStrings.Add(connectionStringSettings);
            source.Add("connectionStrings", section);
            this._database = new DatabaseProviderFactory(source).Create(connectionStringSettings.Name);
            this.CreateConnection();
        }
        void IAddTo.AddTo(IConfigurationSource configurationSource)
        {
            var section = new ConnectionStringsSection();
            foreach(var builder in builders)
            {
                builder.AddTo(section);
            }

            configurationSource.Add("connectionStrings", section);

            var databaseSettings = new DatabaseSettings {DefaultDatabase = defaultDatabase};
            configurationSource.Add(DatabaseSettings.SectionName, databaseSettings);
        }
        public static DictionaryConfigurationSource CreateConfigurationSource()
        {
            DictionaryConfigurationSource configSource = TestConfigurationSource.CreateConfigurationSource();

            var connectionString = new ConnectionStringSettings(
                OracleConnectionStringName,
                OracleConnectionString,
                OracleProviderName);

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(connectionString);

            configSource.Add("connectionStrings", connectionStrings);
            return configSource;
        }
Example #17
0
        /// <summary>
        /// Sets the connection string value in the given config file
        /// </summary>
        /// <param name="installer"></param>
        /// <param name="configFilePath"></param>
        /// <param name="connectionString"></param>
        public static void SetConnectionStringInConfigFile(string configFilePath, string name, string connectionString)
        {
            var configuration = OpenConfigFile(configFilePath);

            System.Configuration.ConnectionStringsSection sec = configuration.GetSection("connectionStrings") as ConnectionStringsSection;
            if (sec.ConnectionStrings[name] == null)
            {
                sec.ConnectionStrings.Add(new ConnectionStringSettings(name, connectionString));
            }
            else
            {
                sec.ConnectionStrings[name].ConnectionString = connectionString;
            }
            configuration.Save();
        }
        public void Given()
        {
            configurationSource = new DictionaryConfigurationSource();
            var connectionStringsSection = new ConnectionStringsSection();
            connectionStringsSection.ConnectionStrings.Add(
                new ConnectionStringSettings
                    {
                        Name = "odbc connection",
                        ConnectionString = "connection string",
                        ProviderName = "System.Data.Odbc"
                    });
            configurationSource.Add("connectionStrings", connectionStringsSection);

            settings = new DatabaseSyntheticConfigSettings(configurationSource.GetSection);
        }
		public static DictionaryConfigurationSource CreateConfigurationSource()
		{
			DictionaryConfigurationSource source = new DictionaryConfigurationSource();

			DatabaseSettings settings = new DatabaseSettings();
			settings.DefaultDatabase = "SqlCeTestConnection";

			ConnectionStringsSection section = new ConnectionStringsSection();
            section.ConnectionStrings.Add(new ConnectionStringSettings("SqlCeTestConnection", "Data Source='testdb.sdf'", "System.Data.SqlServerCe.3.5"));

			source.Add(DatabaseSettings.SectionName, settings);
			source.Add("connectionStrings", section);

			return source;
		}
        protected override void Act()
        {
            var section = new ConnectionStringsSection();
            source = new DesignDictionaryConfigurationSource();
            source.Add("connectionStrings", section);

            var configurationSection = source.GetSection(DataAccessDesignTime.ConnectionStringSettingsSectionName);
            var configurationSourceModel = Container.Resolve<ConfigurationSourceModel>();
            configurationSourceModel.Load(source);

            var databaseSectionViewModel = configurationSourceModel.Sections
                .Where(x => x.SectionName == DataAccessDesignTime.ConnectionStringSettingsSectionName)
                .Single();

            databaseSectionViewModel.Save(source);
        }
Example #21
0
        /// <summary>Creates a new instance of the <see cref="ConfigurationBuilder"/>.</summary>
        public ConfigurationBuilder(IDefinitionProvider[] definitionProviders, ClassMappingGenerator generator, IWebContext webContext, ConfigurationBuilderParticipator[] participators, DatabaseSection config, ConnectionStringsSection connectionStrings)
        {
            this.definitionProviders = definitionProviders;
            this.generator = generator;
            this.webContext = webContext;
            this.participators = participators;

            if (config == null) config = new DatabaseSection();
            TryLocatingHbmResources = config.TryLocatingHbmResources;
            tablePrefix = config.TablePrefix;
            batchSize = config.BatchSize;
            childrenLaziness = config.ChildrenLaziness;

            SetupProperties(config, connectionStrings);
            SetupMappings(config);
        }
Example #22
0
        /// <summary>Creates a new instance of the <see cref="ConfigurationBuilder"/>.</summary>
        public ConfigurationBuilder(IDefinitionManager definitions, ClassMappingGenerator generator, DatabaseSection config, ConnectionStringsSection connectionStrings)
        {
            this.definitions = definitions;
            this.generator = generator;

            if (config == null) config = new DatabaseSection();

            if (!string.IsNullOrEmpty(config.HibernateMapping))
                DefaultMapping = config.HibernateMapping;

            SetupProperties(config, connectionStrings);
            SetupMappings(config);

            TryLocatingHbmResources = config.TryLocatingHbmResources;
            tablePrefix = config.TablePrefix;
            batchSize = config.BatchSize;
            childrenLaziness = config.ChildrenLaziness;
        }
        public Configuracoes mudaConfigurações()
        {
            SqlConnectionStringBuilder myCSB = new SqlConnectionStringBuilder();
              ConnectionStringsSection csSection = new ConnectionStringsSection();

              #region Implementação

              myCSB.DataSource = config.Servidor;
              myCSB.InitialCatalog = config.Database;
              myCSB.UserID = config.User;
              myCSB.Password = config.Senha;

              config.ConectionString = myCSB.ConnectionString;

              return config;

              #endregion
        }
        //#####  INICIALIZA LOS DATOS DEL APPCONFIG  #####
        public ClassModConfig()
        {
            try
            {
                MiAppConfig = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);    //Se abre el app.config
                CadenaConexion = (ConnectionStringsSection)MiAppConfig.GetSection("connectionStrings"); //Obtengo la cadena de conexion
                MiConfig = (AppSettingsSection)MiAppConfig.GetSection("appSettings");                   //Obtengo la seccion appSettings

                MiCnx = ConfigurationManager.ConnectionStrings["EnterpriseSolution.Properties.Settings.bdnominaConnectionString"]; //capturo cadena de conexion
                Estado = ConfigurationManager.AppSettings["Validador"];
                Licencia = ConfigurationManager.AppSettings["Licencia"];
                InfEmp = ConfigurationManager.AppSettings["InfEmp"];
                Skins = ConfigurationManager.AppSettings["Skins"];
                Update = ConfigurationManager.AppSettings["Update"];
            }
            catch (Exception ex)
            {
                MsjErr.MsjBox(1, "ERR001-01", "No se pueden leer todos los valores del app.config - " + ex.ToString());
                Environment.Exit(0);
            }
        }
		public virtual object Create (object parent, object configContext, XmlNode section)
		{
                        ConnectionStringsSection csSection  = new ConnectionStringsSection ();
                        ConnectionStringSettingsCollection csList = csSection.ConnectionStrings;
                        foreach (XmlNode addNode in section.SelectNodes (".//add")) {
                                if (addNode.NodeType != XmlNodeType.Element)
                                        continue;
                                string name;
                                string providerName;
                                string connectionString;
                                
                                name = GetAttributeValue (addNode, "name");
                                providerName = GetAttributeValue (addNode, "providerName");
                                connectionString = GetAttributeValue (addNode, "connectionString");
                                
                                ConnectionStringSettings cs = new ConnectionStringSettings (name, connectionString, providerName);
                                csList.Add (cs);
                        }

                        return csSection;
                        
		}
        private AzureFileSystem Init(ConnectionStringsSection connectionStrings, string containerName, bool isPrivate = false)
        {
            ConnectionStringSettings css = connectionStrings.ConnectionStrings["AzureStorageConnection"];
            string connectionString = css != null
                                   ? css.ConnectionString
                                   : (ConfigurationManager.AppSettings["AzureStorageConnectionString"] ?? "UseDevelopmentStorage=true");
            var account = CloudStorageAccount.Parse(connectionString);
            if (string.IsNullOrEmpty(containerName))
                containerName = ConfigurationManager.AppSettings["AzureStorageContainerName"] ?? "n2tests";
            _root = ConfigurationManager.AppSettings["AzureStorageRootFolderName"] ?? "default"; // orchard: default
            string delAll = ConfigurationManager.AppSettings["AzureStorageDeleteAllOnStartup"] ?? "false";

            if (account == null) 
                throw new ConfigurationErrorsException("Bad Azure Storage Configuration");
            
            var isp = new AzureFileSystem(containerName, _root, isPrivate, account);
            if (delAll.Equals("true", StringComparison.InvariantCultureIgnoreCase))
            {
                isp.Container.DeleteAllBlobs(); // start with a fresh container, used in unit tests
            }
            return isp;
        }
        private void LoadConnectionStrings()
        {
            var map = new ExeConfigurationFileMap();
            map.ExeConfigFilename = FindConfig("K2HostServer.config", "K2HostServer.exe.config");

            _configuration = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
            _connectionStrings = _configuration.GetSection("connectionStrings") as ConnectionStringsSection;

            foreach (ConnectionStringSettings item in _connectionStrings.ConnectionStrings)
            {
                try
                {
                    var colonIndex = item.Name.IndexOf(':');
                    string connectionStringName = null, targetEntity = null;
                    if (colonIndex < 0)
                    {
                        connectionStringName = item.Name;
                    }
                    else
                    {
                        connectionStringName = item.Name.Substring(0, colonIndex);
                        targetEntity = item.Name.Substring(colonIndex + 1);
                    }

                    IConnectionStringLoader loader;
                    if (_loaders.TryGetValue(connectionStringName, out loader))
                    {
                        var connectionString = loader.LoadConnectionString(item.ConnectionString);
                        var info = new ConnectionStringInfo(targetEntity, connectionStringName, connectionString);
                        mainListBox.Items.Add(info);
                    }
                }
                catch (Exception ex)
                {
                    FriendlyException.ThrowFatal("Failure loading connection strings", ex.Message);
                }
            }
        }
		/// <summary>
		/// Configures the properties of each supported database flavor. You need to extend this method if you want to 
		/// add your own database flavor. 
		/// </summary>
		/// <param name="config"></param>
		/// <param name="connectionStrings"></param>
		/// <returns></returns>
		private DatabaseFlavour SetupFlavourProperties(DatabaseSection config, ConnectionStringsSection connectionStrings)
		{
			DatabaseFlavour flavour = config.Flavour;
			if (flavour == DatabaseFlavour.AutoDetect)
			{
				ConnectionStringSettings css = connectionStrings.ConnectionStrings[config.ConnectionStringName];
				if (css == null)
					throw new ConfigurationErrorsException("Could not find the connection string named '" + config.ConnectionStringName + "' that was defined in the n2/database configuration section. If you installed using NuGet try installing 'N2 CMS SQLite config' or configuring this connection string manually.");
				flavour = DetectFlavor(css);
			}

			// HACK: used to support seamless text/nvarchar(max) support across databases
			if (flavour == DatabaseFlavour.MySql)
				stringLength = 16777215;

			switch (flavour)
			{
				case DatabaseFlavour.SqlServer2000:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SqlClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MsSql2000Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.SqlServer2005:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SqlClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MsSql2005Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.SqlServer:
				case DatabaseFlavour.SqlServer2008:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SqlClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MsSql2008Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.SqlCe3:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SqlServerCeDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MsSqlCeDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.SqlCe:
				case DatabaseFlavour.SqlCe4:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SqlServerCeDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MsSqlCe40Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.MySql:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.MySqlDataDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.MySQL5Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.SqLite:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.SQLite20Driver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.SQLiteDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.Firebird:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.FirebirdDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.FirebirdDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.Generic:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.OleDbDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.GenericDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.Jet:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = "NHibernate.JetDriver.JetDriver, NHibernate.JetDriver";
					Properties[NHibernate.Cfg.Environment.Dialect] = "NHibernate.JetDriver.JetDialect, NHibernate.JetDriver";
					break;
				case DatabaseFlavour.DB2:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.OdbcDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.DB2Dialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.Oracle9i:
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.OracleClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.Oracle9iDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.Oracle:
				case DatabaseFlavour.Oracle10g:
					// if you have OracleOdpDriver installed
					// use the following line instead of the the later one (NOTICE both apply to the same property)
					// Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.OracleDataClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.ConnectionDriver] = typeof(NHibernate.Driver.OracleClientDriver).AssemblyQualifiedName;
					Properties[NHibernate.Cfg.Environment.Dialect] = typeof(NHibernate.Dialect.Oracle10gDialect).AssemblyQualifiedName;
					break;
				case DatabaseFlavour.MongoDB:
					return DatabaseFlavour.MongoDB;
				case DatabaseFlavour.Xml:
					return DatabaseFlavour.Xml;
				default:
					throw new ConfigurationErrorsException("Couldn't determine database flavour. Please check the 'flavour' attribute of the n2/database configuration section.");
			}
			return flavour;
		}
Example #29
0
        private static void ToggleConnectionStringProtection(string pathName, bool protect)
        {
            // Define the Dpapi provider name.
            string strProvider = "DataProtectionConfigurationProvider";

            // string strProvider = "RSAProtectedConfigurationProvider";

            System.Configuration.Configuration            oConfiguration = null;
            System.Configuration.ConnectionStringsSection oSection       = null;

            try
            {
                // Open the configuration file and retrieve
                // the connectionStrings section.

                // For Web!
                // oConfiguration = System.Web.Configuration.
                //                  WebConfigurationManager.OpenWebConfiguration("~");

                // For Windows!
                // Takes the executable file name without the config extension.
                oConfiguration = System.Configuration.ConfigurationManager.OpenExeConfiguration(pathName);

                if (oConfiguration != null)
                {
                    bool blnChanged = false;

                    oSection = oConfiguration.GetSection("connectionStrings") as
                               System.Configuration.ConnectionStringsSection;

                    if (oSection != null)
                    {
                        if ((!(oSection.ElementInformation.IsLocked)) &&
                            (!(oSection.SectionInformation.IsLocked)))
                        {
                            if (protect)
                            {
                                if (!(oSection.SectionInformation.IsProtected))
                                {
                                    blnChanged = true;

                                    // Encrypt the section.
                                    oSection.SectionInformation.ProtectSection(strProvider);
                                }
                            }
                            else
                            {
                                if (oSection.SectionInformation.IsProtected)
                                {
                                    blnChanged = true;

                                    // Remove encryption.
                                    oSection.SectionInformation.UnprotectSection();
                                }
                            }
                        }

                        if (blnChanged)
                        {
                            // Indicates whether the associated configuration section
                            // will be saved even if it has not been modified.
                            oSection.SectionInformation.ForceSave = true;

                            // Save the current configuration.
                            oConfiguration.Save();
                            ConfigurationManager.RefreshSection("connectionStrings");
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                throw (ex);
            }
            finally
            {
            }
        }
Example #30
0
        public object GetSection(string configKey)
        {
            object section = clientConfigSystem.GetSection(configKey);

            switch (configKey)
            {
                case "appSettings":
                    if (appSettings != null)
                        return appSettings;
                    if (section is NameValueCollection)
                    {
                        if (configProviders != null)
                        {
                            var cfg = new NameValueCollection();
                            NameValueCollection localSettings = (NameValueCollection)section;
                            foreach (string key in localSettings)
                            {
                                cfg.Add(key, localSettings[key]);
                            }
                            foreach (var configProvider in configProviders)
                            {
                                var settings = configProvider.GetAppSettings();
                                if (settings != null)
                                {
                                    foreach (string key in settings)
                                    {
                                        cfg.Add(key, settings[key]);
                                    }
                                }
                            }
                            this.appSettings = cfg;
                            section = this.appSettings;
                        }
                        else
                        {
                            this.appSettings = section;
                        }
                    }
                    break;
                case "connectionStrings":
                    if (this.connectionStrings != null)
                    {
                        return this.connectionStrings;
                    }

                    if (configProviders != null)
                    {
                        ConnectionStringsSection connectionStringsSection = new ConnectionStringsSection();
                        foreach (ConnectionStringSettings connectionStringSetting in ((ConnectionStringsSection)section).ConnectionStrings)
                        {
                            connectionStringsSection.ConnectionStrings.Add(connectionStringSetting);
                        }
                        foreach (var configProvider in configProviders)
                        {
                            var conns = configProvider.GetConnectionStrings();
                            if (conns != null)
                            {
                                foreach (ConnectionStringSettings connectionStringSetting in conns)
                                {
                                    connectionStringsSection.ConnectionStrings.Add(connectionStringSetting);
                                }
                            }
                        }
                        this.connectionStrings = connectionStringsSection;
                        section = this.connectionStrings;
                    }
                    else
                    {
                        this.connectionStrings = section;
                    }
                    break;
            }

            return section;
        }
        protected override void Arrange()
        {
            base.Arrange();

            section = new ConnectionStringsSection();
            section.ConnectionStrings.Add(new ConnectionStringSettings("name", "conn1"));
            section.ConnectionStrings.Add(new ConnectionStringSettings("name2", "conn2"));
        }
Example #32
0
        private static void ToggleConnectionStringProtection
            (string pathName, bool protect)
        {
            // Define the Dpapi provider name.
            string strProvider = "DataProtectionConfigurationProvider";

            // string strProvider = "RSAProtectedConfigurationProvider";

            System.Configuration.Configuration            oConfiguration = null;
            System.Configuration.ConnectionStringsSection oSection       = null;

            try
            {
                // Open the configuration file and retrieve
                // the connectionStrings section.

                // For Web!
                oConfiguration = System.Web.Configuration.
                                 WebConfigurationManager.OpenWebConfiguration("~");

                // For Windows!
                // Takes the executable file name without the config extension.
                //oConfiguration = System.Configuration.ConfigurationManager.
                //                                OpenExeConfiguration(pathName);

                if (oConfiguration != null)
                {
                    bool blnChanged = false;

                    oSection = oConfiguration.GetSection("connectionStrings") as
                               System.Configuration.ConnectionStringsSection;

                    if (oSection != null)
                    {
                        if ((!(oSection.ElementInformation.IsLocked)) &&
                            (!(oSection.SectionInformation.IsLocked)))
                        {
                            if (protect)
                            {
                                if (!(oSection.SectionInformation.IsProtected))
                                {
                                    blnChanged = true;

                                    // Encrypt the section.
                                    oSection.SectionInformation.ProtectSection
                                        (strProvider);
                                    oConfiguration.AppSettings.Settings["Cypher"].Value = "true";
                                }
                            }
                            else
                            {
                                if (oSection.SectionInformation.IsProtected)
                                {
                                    blnChanged = true;

                                    // Remove encryption.
                                    oSection.SectionInformation.UnprotectSection();
                                    System.Configuration.ConnectionStringSettings connString = new ConnectionStringSettings();
                                    if (0 < oConfiguration.ConnectionStrings.ConnectionStrings.Count)
                                    {
                                        connString =
                                            oConfiguration.ConnectionStrings.ConnectionStrings["CNTSEntities"];
                                    }
                                    string con             = connString.ConnectionString;
                                    int    inicio          = con.IndexOf("\"");
                                    int    fin             = con.IndexOf("\"", inicio + 1);
                                    string conectionString = con.Substring(inicio + 1, fin - inicio - 1);
                                }
                            }
                        }

                        if (blnChanged)
                        {
                            // Indicates whether the associated configuration section
                            // will be saved even if it has not been modified.
                            oSection.SectionInformation.ForceSave = true;

                            // Save the current configuration.
                            oConfiguration.Save();
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                throw (ex);
            }
            finally
            {
            }
        }
Example #33
0
 private void Initialization(string ConfigPath)
 {
     fileMap = new ExeConfigurationFileMap();
     fileMap.ExeConfigFilename = ConfigPath;
     config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
     AppSettings = (AppSettingsSection)config.GetSection("appSettings");
     ConnectionStrings = (ConnectionStringsSection)config.GetSection("connectionStrings");
 }
Example #34
0
 /// <summary>
 /// 子类重载实现资源释放逻辑
 /// </summary>
 /// <param name="disposing">从Dispose调用(释放所有资源)还是析构函数调用(释放非托管资源)</param>
 protected override void OnDispose(Boolean disposing)
 {
     base.OnDispose(disposing);
     if (disposing)
     {
         // 释放托管资源
         fileMap = null;
         AppSettings = null;
         ConnectionStrings = null;
         config = null;
     }
     cacheLock.Dispose();
     // 释放非托管资源
 }
Example #35
0
        /// <summary>GetConnectionSection 用于改更ConnectionStrings节点对像</summary>
        /// <param name="GroupsName"></param>
        /// <param name="SectionsName"></param>
        /// <param name="Create">如果节点不存在是否创建</param>
        public void GetConnectionSection(string GroupsName, string SectionsName, bool Create)
        {
            if (DME_Validation.IsNull(SectionsName))
            {
                return;
            }
            if (DME_Validation.IsNull(GroupsName))
            {
                if (!DME_Validation.IsNull(config.GetSection(SectionsName)))
                {
                    ConnectionStrings = (ConnectionStringsSection)config.GetSection(SectionsName);
                }
                else
                {
                    if (Create)
                    {
                        ConnectionStrings = new ConnectionStringsSection();
                        config.Sections.Add(SectionsName, ConnectionStrings);
                    }
                }
            }
            else
            {
                if (!DME_Validation.IsNull(config.GetSection(string.Format(@"{0}/{1}", GroupsName, SectionsName))))
                {
                    ConnectionStrings = (ConnectionStringsSection)config.GetSection(string.Format(@"{0}/{1}", GroupsName, SectionsName));
                }
                else
                {
                    if (Create)
                    {
                        ConnectionStrings = new ConnectionStringsSection();
                        if (config.GetSectionGroup(GroupsName) != null)
                        {
                            config.SectionGroups[GroupsName].Sections.Add(SectionsName, ConnectionStrings);
                        }
                        else
                        {

                            config.SectionGroups.Add(GroupsName, new ConfigurationSectionGroup());
                            config.SectionGroups[GroupsName].Sections.Add(SectionsName, ConnectionStrings);
                        }
                    }
                }
            }
        }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(
                new ConnectionStringSettings("someSetting", "someConnectionString", "System.Data.OracleClient"));
            configSource.Add("connectionStrings", connectionStrings);

            var oracleConnectionData = new OracleConnectionData { Name = "someSetting" };
            oracleConnectionData.Packages.Add(new OraclePackageData("foo", "bar"));
            var oracleSettings = new OracleConnectionSettings();
            oracleSettings.OracleConnectionsData.Add(oracleConnectionData);
            configSource.Add(OracleConnectionSettings.SectionName, oracleSettings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
 public ConnectionStringsStore()
     : base(new[] { typeof(string) })
 {
     _exeConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     _connectionStringsSection = _exeConfiguration.ConnectionStrings;
 }