Freigeben über


Verwenden von XML-Schemas

Die XML-Programmierung in SMO ist darauf beschränkt, XML-Datentypen, XML-Namespaces und einfache Indizierung für XML-Datentypspalten bereitzustellen.

Microsoft SQL Server bietet nativen Speicher für XML-Dokumentinstanzen. Mithilfe von XML-Schemas können Sie komplexe XML-Datentypen definieren, mit denen XML-Dokumente überprüft werden können, um die Datenintegrität sicherzustellen. Das XML-Schema wird im XmlSchemaCollection Objekt definiert.

Beispiel

Um ein codebeispiel zu verwenden, das bereitgestellt wird, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache auswählen, in der Ihre Anwendung erstellt werden soll. Weitere Informationen finden Sie unter Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET oder Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Erstellen eines XML-Schemas in Visual Basic

In diesem Codebeispiel wird gezeigt, wie Sie mithilfe des XmlSchemaCollection Objekts ein XML-Schema erstellen. Die Text Eigenschaft, die die XML-Schemaauflistung definiert, enthält mehrere doppelte Anführungszeichen. Diese werden durch die chr(34) Zeichenfolge ersetzt.

Erstellen eines XML-Schemas in Visual C#

In diesem Codebeispiel wird gezeigt, wie Sie mithilfe des XmlSchemaCollection Objekts ein XML-Schema erstellen. Die Text Eigenschaft, die die XML-Schemaauflistung definiert, enthält mehrere doppelte Anführungszeichen. Diese werden durch die chr(34) Zeichenfolge ersetzt.

{  
            //Connect to the local, default instance of SQL Server.   
            Server srv = default(Server);  
            srv = new Server();  
            //Reference the AdventureWorks2012 database.   
            Database db = default(Database);  
            db = srv.Databases["AdventureWorks2012"];  
            //Define an XmlSchemaCollection object by supplying the parent  
            // database and name arguments in the constructor.   
            XmlSchemaCollection xsc = default(XmlSchemaCollection);  
            xsc = new XmlSchemaCollection(db, "MySampleCollection");  
            xsc.Text = "<schema xmlns=" + Strings.Chr(34) + "http://www.w3.org/2001/XMLSchema" + Strings.Chr(34) + " xmlns:ns=" + Strings.Chr(34) + "http://ns" + Strings.Chr(34) + "><element name=" + Strings.Chr(34) + "e" + Strings.Chr(34) + " type=" + Strings.Chr(34) + "dateTime" + Strings.Chr(34) + "/></schema>";  
            //Create the XML schema collection on the instance of SQL Server.   
            xsc.Create();  
        }  

Erstellen eines XML-Schemas in PowerShell

In diesem Codebeispiel wird gezeigt, wie Sie mithilfe des XmlSchemaCollection Objekts ein XML-Schema erstellen. Die Text Eigenschaft, die die XML-Schemaauflistung definiert, enthält mehrere doppelte Anführungszeichen. Diese werden durch die chr(34) Zeichenfolge ersetzt.

#Get a server object which corresponds to the default instance replace LocalMachine with the physical server  
cd \sql\LocalHost  
$srv = Get-Item default  
  
#Reference the AdventureWorks database.  
$db = $srv.Databases["AdventureWorks2012"]  
  
#Create a new schema collection  
$xsc = New-Object -TypeName Microsoft.SqlServer.Management.SMO.XmlSchemaCollection `  
-argumentlist $db,"MySampleCollection"  
  
#Add the xml  
$dq = '"' # the double quote character  
$xsc.Text = "<schema xmlns=" + $dq + "http://www.w3.org/2001/XMLSchema" + $dq + `  
"  xmlns:ns=" + $dq + "http://ns" + $dq + "><element name=" + $dq + "e" + $dq +`  
 " type=" + $dq + "dateTime" + $dq + "/></schema>"  
  
#Create the XML schema collection on the instance of SQL Server.  
$xsc.Create()