コード例 #1
0
        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);
            }
        }
コード例 #2
0
 /// <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));
     }
 }
コード例 #3
0
        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);
            }
        }