protected internal static IRuntimeDatabaseConfiguration ConfigurationForDatabase(string databaseName, DatabaseSettingsSerialization.Source source, DatabaseSettingsSerialization.User user) { if (string.IsNullOrEmpty(databaseName) || (databaseName == Constants.SystemDatabaseLogicalName) || (databaseName == ForSystemDatabase.DatabaseServices.DatabaseConfiguration.DatabaseIdentifier)) { return(null); } using (var trans = ForSystemDatabase.GetCommitableTransaction()) { var eSpaceParams = DBRuntimePlatform.Instance.GetCatalogDetailsByName(trans, databaseName, user); if (eSpaceParams == null) { return(null); } var baseConf = RuntimeDatabaseConfigurations.For( CurrentPlatformDatabasesPluginProvider, source, user); baseConf.SetParameters(eSpaceParams); return(baseConf); } }
/// <summary> /// Gets database services for the given connection /// </summary> /// <param name="connectionName">Name of the connection.</param> /// <returns>An instance of a <c>IDatabaseServices</c> to the given connection.</returns> /// <exception cref="ConnectionNotFoundException"></exception> private static IIntegrationDatabaseConfiguration InnerGetDatabaseConfigurationByConnectionName(string connectionName) { using (Transaction trans = ForSystemDatabase.GetReadOnlyTransaction()) { string wrappedConfig = DBRuntimePlatform.Instance.GetDatabaseConfiguration(trans, connectionName); if (wrappedConfig.IsNullOrEmpty()) { throw new ConnectionNotFoundException(String.Format("Failed to retrieve {0} connection details from Database.", connectionName)); } return(OutSystems.Internal.Db.Deserializers.ForIntegration( key => CurrentIntegrationDatabasesPluginProvider .GetImplementation(key) .CreateEmptyIntegrationDatabaseConfiguration()) .Deserialize(wrappedConfig)); } }
protected internal static IRuntimeDatabaseConfiguration LoadConfigurationForESpace(int eSpaceId) { using (var trans = ForSystemDatabase.GetCommitableTransaction()) { var details = DBRuntimePlatform.Instance.GetCatalogDetailsByESpaceId(trans, eSpaceId); if (details == null) { return(null); } var conf = RuntimeDatabaseConfigurations.For( PlatformDatabasePluginProvider, AccessRequester, DatabaseSettingsSerialization.User.Runtime); conf.SetParameters(details); return(conf); } }