private static string BuildCreateDatabaseCommand(CreateDatabaseOptions databaseOptions)
        {
            Guard.NotNull(databaseOptions, "databaseOptions");
            Guard.NotNullNorEmpty(databaseOptions.DatabaseName, "databaseOptions.DatabaseName");

            var stringBuilder = new StringBuilder();

            stringBuilder.Append(string.Format("CREATE DATABASE {0}", databaseOptions.DatabaseName));

            if (databaseOptions.DataFileOptions != null)
            {
                stringBuilder.Append(string.Format(
                                         " ON ( NAME = {0}, FILENAME = '{1}')",
                                         databaseOptions.DataFileOptions.Name,
                                         databaseOptions.DataFileOptions.FileName));

                if (databaseOptions.LogFileOptions != null)
                {
                    stringBuilder.Append(string.Format(
                                             " LOG ON ( NAME = {0}, FILENAME = '{1}')",
                                             databaseOptions.LogFileOptions.Name,
                                             databaseOptions.LogFileOptions.FileName));
                }
            }

            return(stringBuilder.ToString());
        }
        protected override void DoExecute()
        {
            CreateDatabaseOptions databaseOptions = BuildCreateDatabaseOptions();

            IDbManager dbManager = _dbManagerFactory.CreateDbManager(_databaseServer.MachineName);

            dbManager.CreateDatabase(databaseOptions);
        }
        public void CreateDatabase(CreateDatabaseOptions databaseOptions)
        {
            Guard.NotNull(databaseOptions, "databaseOptions");

            try
            {
                string createDbCommand = BuildCreateDatabaseCommand(databaseOptions);

                ExecuteNonQuery(createDbCommand);
            }
            catch (Exception exc)
            {
                throw new MsSqlDbManagementException(string.Format("Failed creating database {0} on server {1}.", databaseOptions.DatabaseName, _databaseServer), exc);
            }
        }
示例#4
0
        public void CreateDatabase(CreateDatabaseOptions databaseOptions)
        {
            Guard.NotNull(databaseOptions, "databaseOptions");

              try
              {
            string createDbCommand = BuildCreateDatabaseCommand(databaseOptions);

            ExecuteNonQuery(createDbCommand);
              }
              catch (Exception exc)
              {
            throw new MsSqlDbManagementException(string.Format("Failed creating database {0} on server {1}.", databaseOptions.DatabaseName, _databaseServer), exc);
              }
        }
示例#5
0
        private static string BuildCreateDatabaseCommand(CreateDatabaseOptions databaseOptions)
        {
            Guard.NotNull(databaseOptions, "databaseOptions");
              Guard.NotNullNorEmpty(databaseOptions.DatabaseName, "databaseOptions.DatabaseName");

              var stringBuilder = new StringBuilder();

              stringBuilder.Append(string.Format("CREATE DATABASE {0}", databaseOptions.DatabaseName));

              if (databaseOptions.DataFileOptions != null)
              {
            stringBuilder.Append(string.Format(
              " ON ( NAME = {0}, FILENAME = '{1}')",
              databaseOptions.DataFileOptions.Name,
              databaseOptions.DataFileOptions.FileName));

            if (databaseOptions.LogFileOptions != null)
            {
              stringBuilder.Append(string.Format(
            " LOG ON ( NAME = {0}, FILENAME = '{1}')",
            databaseOptions.LogFileOptions.Name,
            databaseOptions.LogFileOptions.FileName));
            }
              }

              return stringBuilder.ToString();
        }