internal static Database InitializeDatabase(string connectionString, DBInitParams initParams) { if (connectionString == null) { throw new ArgumentNullException("connectionString", "Value cannot be null."); } if (string.IsNullOrEmpty(connectionString.Trim())) { throw new ArgumentNullException("connectionString", "Value cannot be empty string."); } ConnectionStringBuilder connectionStringBuilder = new ConnectionStringBuilder(connectionString); return(InitializeDatabase(connectionStringBuilder, initParams)); }
internal static Database InitializeDatabase(ConnectionStringBuilder connectionString, DBInitParams initParams) { if (connectionString == null) { throw new ArgumentNullException("connectionString", "Value cannot be null"); } if (connectionString.DataSource == null) { throw new ArgumentNullException("DataSource is not specifed. Value cannot be null."); } if (string.IsNullOrEmpty(connectionString.Database)) { throw new Exception("Database is not specified. Value cannot be null or empty string."); } if (string.IsNullOrEmpty(connectionString.UserId) || string.IsNullOrEmpty(connectionString.Password)) { connectionString.IntegeratedSecurity = true; } var token = new RouterToken(connectionString); lock (DatabaseInstances) { if (DatabaseInstances.ContainsKey(token)) { return(DatabaseInstances[token].GetDatabase()); } var dbInstance = new NoSdbInstance(connectionString); DatabaseInstances.Add(token, dbInstance); return(dbInstance.GetDatabase()); } }