Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questo esempio viene illustrato l'uso delle proprietà specifiche del provider SQLXMLOLEDB seguenti:
ClientSideXMLBase PathMapping Schema
In questa applicazione ADO di esempio viene specificata una query XPath (radice) rispetto a uno schema di mapping XSD (MySchema.xml). Lo schema ha un <elemento Contacts> con attributi ContactID, FirstName e LastName . Nello schema viene eseguito il mapping predefinito: il nome di un elemento viene mappato alla tabella con lo stesso nome e gli attributi di tipo semplice vengono mappati alle colonne con gli stessi nomi.
<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>
La proprietà Schema mapping fornisce lo schema di mapping su cui viene eseguita la query XPath. Lo schema di mapping può essere uno schema XSD o XDR. La proprietà Base Path fornisce il percorso del file allo schema di mapping.
La proprietà ClientSideXML è impostata su True. Pertanto, il documento XML viene generato nel client.
Nell'applicazione viene specificata direttamente una query XPath. Pertanto, è necessario includere il dialetto XPath {ec2a4293-e898-11d2-b1b7-00c04f680c56}.
Annotazioni
Nel codice è necessario specificare il nome dell'istanza di SQL Server nella stringa di connessione. In questo esempio viene inoltre specificato l'uso di SQL Server Native Client (SQLNCLI11) per il provider di dati che richiede l'installazione di software client di rete aggiuntivo. Per altre informazioni, vedere Requisiti di sistema per SQL Server Native Client.
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