Compartilhar via


Usando esquemas XML

A programação XML no SMO é limitada ao fornecimento de tipos de dados XML, namespaces XML e indexação simples em colunas de tipo de dados XML.

O Microsoft SQL Server fornece armazenamento nativo para instâncias de documento XML. Os esquemas XML permitem definir tipos de dados XML complexos, que podem ser usados para validar documentos XML para garantir a integridade dos dados. O esquema XML é definido no XmlSchemaCollection objeto.

Exemplo

Para usar qualquer exemplo de código fornecido, você precisará escolher o ambiente de programação, o modelo de programação e a linguagem de programação na qual criar seu aplicativo. Para obter mais informações, consulte Criar um projeto de SMO do Visual Basic no Visual Studio .NET ou criar um projeto SMO do Visual C# no Visual Studio .NET.

Criando um esquema XML no Visual Basic

Este exemplo de código mostra como criar um esquema XML usando o XmlSchemaCollection objeto. A Text propriedade, que define a coleção de esquemas XML, contém várias aspas duplas. Elas são substituídas pela cadeia chr(34) de caracteres.

Criando um esquema XML no Visual C#

Este exemplo de código mostra como criar um esquema XML usando o XmlSchemaCollection objeto. A Text propriedade, que define a coleção de esquemas XML, contém várias aspas duplas. Elas são substituídas pela cadeia chr(34) de caracteres.

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

Criando um esquema XML no PowerShell

Este exemplo de código mostra como criar um esquema XML usando o XmlSchemaCollection objeto. A Text propriedade, que define a coleção de esquemas XML, contém várias aspas duplas. Elas são substituídas pela cadeia chr(34) de caracteres.

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