wykonywanie wykonywanie wykonywanie skryptów
Wykonywanie skryptów w obiekty SMO są kontrolowane przez Scripter obiekt i jego obiektów podrzędność lub Script Metoda w poszczególnych obiektach. The Scripter object controls the mapping out of dependency relationships for objects on an instance of Microsoft SQL Server.
Zaawansowane wykonywanie wykonywanie skryptów za pomocą Scripter obiekt i jego obiektów podrzędność jest procesem trzech faz:
Odnajdowanie
Generowanie listy
Generowanie skryptu
W fazie odnajdowania używa DependencyWalker obiekt. Podana jest nazwa URN lista obiektów, DiscoverDependencies(array<SqlSmoObject[], DependencyType) Metoda DependencyWalker Zwraca obiekt DependencyTree obiekt dla obiektów z listy nazwę URN. logiczny fParents parametr jest używany umożliwia określenie, czy obiekty nadrzędne lub podrzędne określonego obiektu mają zostać odnalezione. Drzewo zależności może być modyfikowany na tym etapie.
Na liście fazy generowania drzewa jest przekazywana i wynikowej liście jest zwracany.Ta lista obiektów wykonywanie wykonywanie skryptów zamówienia, można manipulować.
Generowanie listy etapów użycia WalkDependencies(DependencyTree) Metoda zwraca DependencyTree. The DependencyTree can be modified at this stage.
W fazie trzeciej i końcowe skrypt jest generowany z określonej listy oraz opcje obsługi wykonywanie wykonywanie skryptów.Wynik jest zwracany jako StringCollection obiekt systemu. W tej fazie nazw obiektów zależnych następnie są wyodrębniane z kolekcja elementów z DependencyTree obiekt i właściwości, takie jak NumberOfSiblings() i FirstChild().
Przykład
Aby używać dostarczonych przykładów kodu źródłowego, należy wybrać środowisko, szablon oraz język programowania, które będą używane do tworzenia aplikacji.Aby uzyskać więcej informacji zobacz Jak Tworzenie obiektów SMO projektu Visual Basic w programie Visual Studio .NET lub Jak Tworzenie projektu programu Visual C# obiekty SMO w programie Visual Studio .NET.
W tym przykładzie kodu wymaga Imports instrukcja System.Collections.Specialized obszaru nazw. Wstaw to w innych instrukcjach importowania, przed wszelkimi deklaracjami w aplikacji.
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
Imports System.Collections.Specialized
wykonywanie wykonywanie skryptów na zewnątrz zależności dla bazy danych w języku Visual Basic
W tym przykładzie kodu pokazano, jak odnajdowanie zależności i iterację wszystkich elementów na liście, aby wyświetlić wyniki.
wykonywanie wykonywanie skryptów na zewnątrz zależności dla bazy danych w środowisku Visual C#
W tym przykładzie kodu pokazano, jak odnajdowanie zależności i iterację wszystkich elementów na liście, aby wyświetlić wyniki.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Reference the AdventureWorks database.
Database db = default(Database);
db = srv.Databases("AdventureWorks");
//Define a Scripter object and set the required scripting options.
Scripter scrp = default(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.
Table tb = default(Table);
Urn[] smoObjects = new Urn[2];
foreach ( tb in db.Tables) {
smoObjects = new Urn[1];
smoObjects(0) = tb.Urn;
if (tb.IsSystemObject == false) {
StringCollection sc = default(StringCollection);
sc = scrp.Script(smoObjects);
string st = null;
foreach ( st in sc) {
Console.WriteLine(st);
}
}
}
}