sql >> Database >  >> RDS >> Sqlserver

Hoe scriptgeneratie automatiseren met SMO in SQL Server?

De sleutel tot SMO-scripting is de Scripter klas. Alle andere tools (zoals SSMS) gebruiken deze klasse om scripts voor het maken van objecten te genereren. Er is een voorbeeld van gebruik op MSDN :

{ 
   //Connect to the local, default instance of SQL Server. 
  Server srv = new Server(); 

   //Reference the AdventureWorks2008R2 database.  
  Database db = srv.Databases["AdventureWorks2008R2"]; 

   //Define a Scripter object and set the required scripting options. 
  Scripter scrp = new Scripter(srv); 
   scrp.Options.ScriptDrops = false; 
   scrp.Options.WithDependencies = true; 

   //Iterate through the tables in database and script each one. Display the script. 
   //Note that the StringCollection type needs the System.Collections.Specialized namespace to be included. 
   Microsoft.SqlServer.Management.Sdk.Sfc.Urn[] smoObjects = new Microsoft.SqlServer.Management.Sdk.Sfc.Urn[1] ;
   foreach (Table tb in db.Tables) {   
      smoObjects[0] = tb.Urn; 
      if (tb.IsSystemObject == false) { 
         System.Collections.Specialized.StringCollection sc;
         sc = scrp.Script(smoObjects); 
         foreach ( string st in sc) { 
            Console.WriteLine(st); 
         } 
      } 
   } 
}


  1. Schema Switch-A-Roo:deel 2

  2. Hoe kan ik een asynchrone database in JavaFX doen?

  3. MySQL-triggers om het veld bij te werken op basis van de som van de kolom uit een andere tabel

  4. Wat is het verschil tussen mysql.createConnection en mysql.createPool in de Node.js MySQL-module?