public static IDbConnection CreateDbConnection(this IDatabase database, string userName, string password) { if (database == null) { throw new ArgumentNullException("database"); } var dbHandler = database.Context.SystemContext as IDatabaseHandler; if (dbHandler == null) { dbHandler = new SingleDatabaseHandler(database); } var serverConnector = new EmbeddedServerConnector(dbHandler); var clientConnector = new EmbeddedClientConnector(serverConnector); var settings = new DeveelDbConnectionStringBuilder { UserName = userName, Password = password, Database = database.Name }; return(new DeveelDbConnection(clientConnector, settings)); }
private IClientConnector CreateConnector() { if (Connector != null) { return(Connector); } // TODO: Extract system config from the connection string var sysConfig = new Configuration.Configuration(); var dbConfig = CreateDbConfig(Settings); var userName = Settings.UserName; var password = Settings.Password; var createIfNotExists = Settings.BootOrCreate || Settings.Create; var database = CreateDatabase(sysConfig, dbConfig, userName, password, createIfNotExists); var handler = new SingleDatabaseHandler(database); return(new EmbeddedClientConnector(new EmbeddedServerConnector(handler))); }
public static IDbConnection CreateDbConnection(this IDatabase database, IConfiguration configuration) { if (database == null) { throw new ArgumentNullException("database"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } var dbName = configuration.GetString("database.name"); if (!String.IsNullOrEmpty(dbName) && !String.Equals(dbName, database.Name)) { throw new ArgumentException(String.Format("The specified database name '{0}' differs from the original database name '{1}'.", dbName, database.Name)); } var dbHandler = database.System as IDatabaseHandler; if (dbHandler == null) { dbHandler = new SingleDatabaseHandler(database); } var serverConnector = new EmbeddedServerConnector(dbHandler); var clientConnector = new EmbeddedClientConnector(serverConnector); var settings = BuildConnectionString(configuration); if (String.IsNullOrEmpty(settings.Database)) { settings.Database = database.Name; } return(new DeveelDbConnection(clientConnector, settings)); }
private IClientConnector CreateConnector() { if (Connector != null) return Connector; // TODO: Extract system config from the connection string var sysConfig = new Configuration.Configuration(); var dbConfig = CreateDbConfig(Settings); var userName = Settings.UserName; var password = Settings.Password; var createIfNotExists = Settings.BootOrCreate || Settings.Create; var database = CreateDatabase(sysConfig, dbConfig, userName, password, createIfNotExists); var handler = new SingleDatabaseHandler(database); return new EmbeddedClientConnector(new EmbeddedServerConnector(handler)); }