Пример #1
0
        private ServerNode SetupServerNodeWithCreator(SmoWrapper creator)
        {
            ServerNode node = new ServerNode(defaultConnParams, ServiceProvider, new ServerConnection(new SqlConnection(fakeConnectionString)));

            node.SmoWrapper = creator;
            return(node);
        }
Пример #2
0
        private ServerNode SetupServerNodeWithCreator(SmoWrapper creator)
        {
            ServerNode node = new ServerNode(defaultConnParams, ServiceProvider);

            node.SmoWrapper = creator;
            return(node);
        }
Пример #3
0
        /// <summary>
        /// Saves all objects in database as *.sql scripts in subdirectories
        /// organized by object type.
        /// </summary>
        /// <param name="basePath">Base directory to save scripts to.</param>
        /// <param name="label">Label of subfolder.</param>
        /// <param name="collection">Collection of SMOs to save.</param>
        /// <param name="extendedSave">Optional custom save delegate (if not null, callee is completely responsible for saving.)</param>
        protected void SaveObjects(String basePath, String label, 
            SmoCollectionBase collection, SaveAllowedDelegate saveAllowed)
        {
            String folder = Path.Combine(basePath, label);
            if (!Directory.Exists(folder))
                Directory.CreateDirectory(folder);

            foreach (SqlSmoObject obj in collection)
            {
                SmoWrapper wrapper = new SmoWrapper(obj);
                if (wrapper.IsSystemObject)
                    continue;

                if (saveAllowed == null || (saveAllowed != null && saveAllowed(wrapper)))
                {
                    using (ScriptWriter scriptWriter = new ScriptWriter(
                            new StreamWriter(
                                Path.Combine(folder, String.Format("{0}.sql",
                                StringUtils.NormalizeFilename(
                                    wrapper.QualifiedName)))), _options))
                    {
                        scriptWriter.WriteDefinition(wrapper);
                    }
                }
            }
        }
Пример #4
0
        protected void SaveCachedObject(String basePath, ObjectCache.CachedObject cachedObj)
        {
            Server server = new Server(_server.Name);
            InitServer(server);

            Database database = server.Databases[_database.Name];

            String folder = Path.Combine(basePath, cachedObj.Label);
            if (!Directory.Exists(folder))
                Directory.CreateDirectory(folder);

            SqlSmoObject obj = cachedObj.Activate(database);
            SmoWrapper wrapper = new SmoWrapper(obj);
            if (wrapper.IsSystemObject)
                return;

            using (ScriptWriter scriptWriter = new ScriptWriter(
                    new StreamWriter(
                        Path.Combine(folder, String.Format("{0}.sql",
                        StringUtils.NormalizeFilename(
                            wrapper.QualifiedName)))), _options))
            {
                scriptWriter.WriteDefinition(wrapper);
            }
        }
Пример #5
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="wrapper"></param>
 public void WriteDefinition(SmoWrapper wrapper)
 {
     Console.WriteLine("[{0}] {1}", wrapper.SmoObject.GetType().Name, wrapper.QualifiedName);
     WriteDefinition((IScriptable)wrapper.SmoObject);
 }
Пример #6
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="wrapper"></param>
 public void WriteExtendedProperties(SmoWrapper wrapper)
 {
     ExtendedPropertyCollection extendedProperties = wrapper.ExtendedProperties;
     if (extendedProperties != null && extendedProperties.Count > 0)
     {
         WriteBlockTitle("Extended Properties");
         foreach (ExtendedProperty prop in extendedProperties)
             WriteDefinition(prop);
     }
 }