Udostępnij za pośrednictwem


Mapowanie domyślne XSD elementów i atrybutów tabel i kolumn (SQLXML 4.0)

Domyślnie element typu złożonego w pliku XSD adnotacje map schematu tabela (Widok) o tej samej nazwie w określonej bazie danych i kolumna o tej samej nazwie w tabela jest mapowany element lub atrybut typu prostego.

Przykłady

Aby utworzyć próbki pracy przy użyciu poniższych przykładach, musi spełniać określone wymagania.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące uruchamianie przykładów SQLXML.

A.Określanie domyślnego mapowania

W tym przykładzie adnotacje nie są określone w schematu XSD.<Person.Person> element jest typu złożonego i dlatego mapuje domyślnie do tabela Person.Person w AdventureWorks2008R2 bazy danych.Wszystkie atrybuty (BusinessEntityID FirstName, LastName) <Person.Person> elementu są typu prostego i mapowanie domyślnie kolumny o tej samej nazwy w tabela Person.Person.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Person.Person" >
     <xsd:complexType>
       <xsd:attribute name="BusinessEntityID"  type="xsd:string" /> 
       <xsd:attribute name="FirstName"   type="xsd:string" /> 
       <xsd:attribute name="LastName"    type="xsd:string" /> 
     </xsd:complexType>
  </xsd:element>
</xsd:schema>

Aby przetestować przykładowe kwerendy XPath względem schematu

  1. Kod schematu skopiować i wkleić go do pliku tekstowego.Zapisz plik jako MySchema.xml.

  2. Skopiuj następujący szablon i wkleić go do pliku tekstowego.Zapisz plik jako MySchemaT.xml w tym samym katalogu, w którym zapisano MySchema.xml.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchema.xml">
            /Person.Person
        </sql:xpath-query>
    </ROOT>
    

    Ścieżka katalogu określonego dla mapowania schematu (MySchema.xml) jest katalog, w którym zapisany szablon.Ścieżka bezwzględna również można określić, na przykład:

    mapping-schema="C:\SqlXmlTest\MySchema.xml"
    
  3. Tworzenie i używanie szablon wykonać skryptu testu 4.0 SQLXML (Sqlxml4test.vbs).

    Aby uzyskać więcej informacji, zobacz Przy użyciu ADO SQLXML wykonanie kwerendy 4.0.

Oto częściowe zestaw wyników:

<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
  <Person.Person BusinessEntityID="1" FirstName="Gustavo" LastName="Achong"/>
  <Person.Person BusinessEntityID="2" FirstName="Catherine" LastName="Abel"/>
   ...
</ROOT>

B.Mapowanie elementu XML do kolumna bazy danych

W tym przykładzie domyślnego mapowania również ma miejsce, ponieważ adnotacje nie są używane.<Person.Person> element jest typu złożonego i mapuje tabela o tej samej nazwie w bazie danych.Elementy <Imię> i <nazwisko> i IDPracownika atrybut typu prostego i dlatego mapować kolumn o identycznych nazwach.Jedyną różnicą między tym i poprzednim przykładzie są elementy służą do mapowania pól Imię i nazwisko.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Person.Person">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="FirstName" type="xsd:string" /> 
        <xsd:element name="LastName" type="xsd:string" /> 
      </xsd:sequence>
      <xsd:attribute name="BusinessEntityID" type="xsd:integer" /> 
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Aby przetestować przykładowe kwerendy XPath względem schematu

  1. Kod schematu skopiować i wkleić go do pliku tekstowego.Zapisz plik jako MySchemaElements.xml.

  2. Utwórz następujący szablon (MySchemaElementsT.xml) i zapisać go w tym samym katalogu, używany w poprzednim kroku.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchemaElements.xml">
            /Person.Person
        </sql:xpath-query>
    </ROOT>
    

    Ścieżka katalogu określonego dla mapowania schematu jest katalog, w którym zapisany szablon.Ścieżka bezwzględna również można określić, na przykład:

    mapping-schema="C:\SqlXmlTest\MySchemaElements.xml"
    
  3. Tworzenie i używanie szablon wykonać skryptu testu 4.0 SQLXML (Sqlxml4test.vbs).

    Aby uzyskać więcej informacji, zobacz Przy użyciu ADO SQLXML wykonanie kwerendy 4.0.

Oto częściowe zestaw wyników:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Person BusinessEntityID="1">
    <FirstName>Gustavo</FirstName>
    <LastName>Achong</LastName>
  </Person.Person>
   ...
</ROOT>

C.Mapowanie elementu XML XML typu danych kolumna

W tym przykładzie domyślnego mapowania również ma miejsce, ponieważ adnotacje nie są używane.<Production.ProductModel> element jest typu złożonego i mapuje tabela o tej samej nazwie w bazie danych.ProductModelID atrybut typu prostego i dlatego mapować kolumn o identycznych nazwach.Jedyną różnicą między to i poprzednich przykładach, jest <instrukcje> element jest mapowanie do kolumna, która używa xml typu danych przy użyciu xsd:anyType typu.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Production.ProductModel">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Instructions" type="xsd:anyType" /> 
      </xsd:sequence>
      <xsd:attribute name="ProductModelID" type="xsd:integer" /> 
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

xml Typ danych został wprowadzony w SQL Server 2005.

Aby przetestować przykładowe kwerendy XPath względem schematu

  1. Kod schematu skopiować i wkleić go do pliku tekstowego.Zapisz plik jako MySchemaXmlAnyElements.xml.

  2. Utwórz następujący szablon (MySchemaXmlAnyElementsT.xml) i zapisać go w tym samym katalogu, używany w poprzednim kroku.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchemaXmlAnyElements.xml">
            /Production.ProductModel[@ProductModelID=7]
        </sql:xpath-query>
    </ROOT>
    

    Ścieżka katalogu określonego dla mapowania schematu jest katalog, w którym zapisany szablon.Ścieżka bezwzględna również można określić, na przykład:

    mapping-schema="C:\SqlXmlTest\MySchemaXmlAnyElements.xml"
    
  3. Tworzenie i używanie szablon wykonać skryptu testu 4.0 SQLXML (Sqlxml4test.vbs).

    Aby uzyskać więcej informacji, zobacz Przy użyciu ADO SQLXML wykonanie kwerendy 4.0.

Oto częściowe zestaw wyników:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Production.ProductModel ProductModelID="7">
    <Instructions>
      <root xmlns="http:
//schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstru
ctions">
...
      </root>
    <Instructions>
  </Production.ProductModel>
</ROOT>