Condividi tramite


Uso di XML Schema

La programmazione XML in SMO è limitata alla fornitura di tipi di dati XML, spazi dei nomi XML e indicizzazione semplice su colonne di tipo di dati XML.

Microsoft SQL Server fornisce l'archiviazione nativa per le istanze di documento XML. Gli XML Schema consentono di definire tipi di dati XML complessi, che possono essere usati per convalidare i documenti XML per garantire l'integrità dei dati. L'XML Schema viene definito nell'oggetto XmlSchemaCollection .

Esempio

Per usare qualsiasi esempio di codice fornito, è necessario scegliere l'ambiente di programmazione, il modello di programmazione e il linguaggio di programmazione in cui creare l'applicazione. Per altre informazioni, vedere Creare un progetto SMO di Visual Basic in Visual Studio .NET o Creare un progetto SMO visual C# in Visual Studio .NET.

Creazione di un XML Schema in Visual Basic

In questo esempio di codice viene illustrato come creare uno schema XML usando l'oggetto XmlSchemaCollection . La Text proprietà , che definisce la raccolta di XML Schema, contiene diverse virgolette doppie. Queste vengono sostituite dalla chr(34) stringa .

Creazione di uno schema XML in Visual C#

In questo esempio di codice viene illustrato come creare uno schema XML usando l'oggetto XmlSchemaCollection . La Text proprietà , che definisce la raccolta di XML Schema, contiene diverse virgolette doppie. Queste vengono sostituite dalla chr(34) stringa .

{  
            //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();  
        }  

Creazione di un XML Schema in PowerShell

In questo esempio di codice viene illustrato come creare uno schema XML usando l'oggetto XmlSchemaCollection . La Text proprietà , che definisce la raccolta di XML Schema, contiene diverse virgolette doppie. Queste vengono sostituite dalla chr(34) stringa .

#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()