Megosztás a következőn keresztül:


XPath-lekérdezések végrehajtása (SQLXMLOLEDB-szolgáltató)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Ez a példa az alábbi SQLXMLOLEDB szolgáltató-specifikus tulajdonságok használatát mutatja:

  • ClientSideXML

  • Alapértelmezett útvonal

  • Térképezési séma

Ebben a minta-ADO alkalmazásban egy XPath lekérdezés (gyökér) egy XSD leképezési sémához (MySchema.xml) van megadva. A sémában van egy <Contacts> elem ContactID, Keresztnév és Vezetéknév attribútumokkal. A sémában az alapértelmezett leképezés történik: egy elem neve az azonos nevű táblához kerül, és az egyszerű típusú attribútumok az azonos nevű oszlopokhoz kerülnek.

<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'  
   xmlns:sql='urn:schemas-microsoft-com:mapping-schema'>  
 <xsd:element name= 'root' sql:is-constant='1'>   
    <xsd:complexType>  
       <xsd:sequence>  
         <xsd:element ref = 'Contacts'/>  
       </xsd:sequence>  
    </xsd:complexType>  
  </xsd:element>  
  <xsd:element name='Contacts' sql:relation='Person.Contact'>   
     <xsd:complexType>  
          <xsd:attribute name='ContactID' type='xsd:integer' />  
          <xsd:attribute name='FirstName' type='xsd:string'/>   
          <xsd:attribute name='LastName' type='xsd:string' />   
     </xsd:complexType>  
   </xsd:element>  
</xsd:schema>  

A Mapping Schema tulajdonság adja azt a leképezési sémát, amelyhez az XPath lekérdezést futtatják. A leképezési séma lehet XSD vagy XDR séma. Az Alapút tulajdonság adja a fájlút a leképezési sémához.

A ClientSideXML tulajdonság True-ra van állítva. Ezért az XML dokumentum a kliensen generálódik.

Az alkalmazásban közvetlenül meg van jelölve egy XPath lekérdezés. Ezért az XPath dialektust {ec2a4293-e898-11d2-b1b7-00c04f680c56} be kell vonni.

Megjegyzés:

A kódban meg kell adnod az SQL Server példányának nevét a kapcsolati láncban. Ez a példa az adatszolgáltató SQL Server Native Client (SQLNCLI11) használatát is meghatározza az adatszolgáltató számára, amely további hálózati kliens szoftver telepítését igényli. További információért lásd: Rendszerkövetelmények SQL Server Native Client számára.

Option Explicit  
Sub main()  
Dim oTestStream As New ADODB.Stream  
Dim oTestConnection As New ADODB.Connection  
Dim oTestCommand As New ADODB.Command  
  
oTestConnection.Open "provider=SQLXMLOLEDB.4.0;data provider=SQLNCLI11;data source=SqlServerName;initial catalog=AdventureWorks;Integrated Security= SSPI;"  
  
oTestCommand.ActiveConnection = oTestConnection  
oTestCommand.Properties("ClientSideXML") = True  
  
oTestCommand.CommandText = "root"  
oTestStream.Open  
oTestCommand.Dialect = "{ec2a4293-e898-11d2-b1b7-00c04f680c56}"  
oTestCommand.Properties("Output Stream").Value = oTestStream  
oTestCommand.Properties("Base Path").Value = "c:\Schemas\SQLXML4\XPathDirect\"  
oTestCommand.Properties("Mapping Schema").Value = "mySchema.xml"  
oTestCommand.Properties("Output Encoding") = "utf-8"  
oTestCommand.Execute , , adExecuteStream  
oTestStream.Position = 0  
oTestStream.Charset = "utf-8"  
Debug.Print oTestStream.ReadText(adReadAll)  
  
End Sub  
Sub Form_Load()  
 main  
End Sub