public void Configure() { var dbMode = ConnectionStringRegistry.Instance().DatabaseMode; if (dbMode != EDatabaseMode.Unkown) { var databaseTypesLoader = new DatabaseTypesLoader(); var dbTypes = databaseTypesLoader.Load(); string databaseId = dbTypes.GetDatabaseId(EDbType.MainDb, dbMode); if (databaseId != null) { var connectionStringLoader = new ConnectionStringLoader(); var connectionStrings = connectionStringLoader.Load(); ConnectionStringRegistry.Instance().Add(EDbType.MainDb, connectionStrings[databaseId]); } } }
public void Configure() { bool connectionStringFromCmdLineExists = false; bool connectionStringFromXmlFileExists = false; if (!string.IsNullOrEmpty(_user) && !string.IsNullOrEmpty(_password)) { connectionStringFromCmdLineExists = true; } var loader = new ConnectionStringLoader(); var connectionStrings = loader.Load(); if (connectionStrings != null && connectionStrings.Count > 0) { connectionStringFromXmlFileExists = true; } OracleConnectionString connectString; if (connectionStringFromCmdLineExists) { connectString = new OracleConnectionString(_dataSource, _user, _password); } else if (connectionStringFromXmlFileExists) { connectString = connectionStrings[_dataSource] as OracleConnectionString; Debug.Assert(connectString != null, "connectString != null"); if (connectString.HasProxyUserAndPassword) { connectString.User = WindowsIdentity.GetCurrent().NameWithoutDomain(); connectString.Password = null; } Debug.Assert(connectString != null, "ConnectionString not of type OracleConnectionString?"); } else { throw new ConnectionStringRegistryException( "No Database ConnectionString configuration found. Please use command-line or xml-config."); } if (DbType == EDbType.Unkown && DbMode == EDatabaseMode.Unkown) { var databaseTypesLoader = new DatabaseTypesLoader(); var dbTypes = databaseTypesLoader.Load(); DbType = dbTypes.GetDbType(_dataSource); DbMode = dbTypes.GetDbMode(_dataSource); } if (DbType == EDbType.Unkown) { throw new ConnectionStringRegistryException(string.Format("Unkown database type [{0}]", _dataSource)); } if (DbMode == EDatabaseMode.Unkown) { throw new ConnectionStringRegistryException(string.Format("Unkown database mode [{0}]", _dataSource)); } connectString.ConnectionPooling = true; ConnectionStringRegistry.Instance().DatabaseMode = DbMode; ConnectionStringRegistry.Instance().Add(DbType, connectString); }