Introduzione al provider SQLXMLOLEDB (SQLXML 4.0)
Il provider SQLXMLOLEDB è un provider OLE DB che espone la funzionalità Microsoft SQLXML tramite gli oggetti ADO (ActiveX Data Objects). Il provider può tuttavia eseguire i comandi solo nella modalità di scrittura in un flusso di output di ADO. Il provider SQLXMLOLEDB non è un provider di set di righe. Quando si esegue un comando, è necessario specificare il flag adExecuteStream che indica ad ADO di utilizzare il flusso di output specificato.
Nell'esempio seguente è riportata la sintassi per il comando Execute nella quale viene specificato il flag adExecuteStream:
Dim oTestCommand As New ADODB.Command
...
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Execute , , adExecuteStream
...
Proprietà specifiche del provider SQLXMLOLEDB
Il provider SQLXMLOLEDB espone le proprietà di connessione specifiche riportate di seguito.
Proprietà connessione |
Impostazione predefinita (se disponibile) |
Descrizione |
---|---|---|
Data Provider |
|
Specifica il PROGID del provider OLE DB tramite il quale SQLXMLOLEDB esegue i comandi. A partire da SQLXML 4.0 e SQL Server 2005, questo provider è contenuto in SQL Server Native Client. Il valore di questa proprietà è pertanto limitato a "SQLNCLI10". Per ulteriori informazioni, vedere Programmazione di SQL Server 2008 Native Client. |
Il provider SQLXMLOLEDB espone le proprietà dei comandi specifiche riportate di seguito.
Proprietà comando |
Impostazione predefinita (se disponibile) |
Descrizione |
---|---|---|
Base Path |
"" |
Specifica il percorso file di base. Tale percorso viene utilizzato per specificare la posizione dei file XSL (XML Stylesheet Language) o dei file dello schema di mapping. Il percorso file di base viene utilizzato anche per risolvere i percorsi relativi dei file XSL o dello schema di mapping specificati nella proprietà XSL o Mapping Schema . Per un esempio di utilizzo di questa proprietà, vedere Esecuzione di query XPath (provider SQLXMLOLEDB). |
ClientSideXML |
False |
Impostare questa proprietà su False se si desidera che il processo di conversione del set di righe in XML venga eseguito sul client anziché sul server. Questa operazione si rivela utile quando si desidera spostare il carico delle prestazioni al livello intermedio. Per un esempio di utilizzo di questa proprietà, vedere Esecuzione di query SQL (provider SQLXMLOLEDB) o Esecuzione di modelli che contengono query SQL (provider SQLXMLOLEDB). |
Content Type |
|
Restituisce il tipo di contenuto di output. Si tratta di una proprietà READ ONLY. Questa proprietà fornisce informazioni al browser sul tipo di contenuto, ad esempio TEXT/XML, TEXT/HTML, image/jpeg e così via. Il valore della proprietà diventa il campo content-type inviato al browser come parte dell'intestazione HTTP, che contiene il tipo MIME (Multipurpose Internet Mail Extensions) del documento inviato come corpo. |
Mapping Schema |
NULL |
Se un'applicazione client esegue una query XPath su uno schema di mapping (XDR o XSD), questa proprietà viene utilizzata per specificare il nome dello schema di mapping. Il percorso specificato può essere relativo (xyz/abc/Schema.xml) o assoluto (C:\Cartella\abc\Schema.xml). Se si specifica un percorso relativo, per risolverlo viene utilizzato il percorso di base specificato dalla proprietà Base Path. Se nella proprietà Base Path non viene specificato alcun percorso, il percorso relativo è relativo alla directory corrente. Quando si immette un valore per la proprietà Mapping Schema, è possibile specificare un percorso di directory locale o un URL (http://...). Se si specifica un URL, è necessario configurare WinHTTP per l'accesso ai server HTTP e HTTPS tramite un server proxy. A tale scopo, eseguire l'utilità Proxycfg.exe. Per ulteriori informazioni, vedere l'argomento relativo all'utilizzo dell'utilità di configurazione proxy WinHTTP in MSDN Library. Per un esempio di utilizzo di questa proprietà, vedere Esecuzione di query XPath (provider SQLXMLOLEDB). |
namespaces |
|
Questa proprietà consente l'esecuzione delle query XPath che utilizzano gli spazi dei nomi. Per un esempio di utilizzo di questa proprietà, vedere Esecuzione di query XPath con spazi dei nomi (provider SQLXMLOLEDB). |
ss Stream Flags |
|
Questa proprietà viene utilizzata per specificare tipi particolari di restrizioni di protezione. È ad esempio possibile che non si desideri consentire la specifica di riferimenti URL a file o di percorsi assoluti di file, ad esempio siti esterni, o che non si desideri consentire l'inserimento di query nei modelli. È possibile assegnare alla proprietà i valori seguenti: 1 = STREAM_FLAGS_DISALLOW_URL 2 = STREAM_FLAGS_DISALLOW_ABSOLUTE_PATH 4 = STREAM_FLAGS_DISALLOW_QUERY 8 = STREAM_FLAGS_ DONTCACHEMAPPINGSCHEMA 16 = STREAM_FLAGS_DONTCACHETEMPLATE 32 = STREAM_FLAGS_DONTCACHEXSL Nella tabella che segue sono contenute informazioni aggiuntive su tali valori. |
xml root |
|
Questa proprietà viene utilizzata per definire un tag radice per il codice XML risultante. Se, ad esempio, si eseguono query SQL sul database e il documento XML risultante non contiene un singolo elemento radice, il valore della proprietà viene utilizzato per aggiungere tale elemento al documento. Per un esempio di utilizzo di questa proprietà, vedere Esecuzione di query SQL (provider SQLXMLOLEDB). |
xsl |
|
Questa proprietà viene utilizzata per specificare il nome file XSL quando si desidera applicare la trasformazione XSL al documento XML restituito dalla query. Il percorso specificato può essere relativo (xyz/abc/XSL.xsl) o assoluto (C:\Cartella\abc\XSL.xsl). Se si specifica un percorso relativo, per risolverlo viene utilizzato il percorso di base specificato dalla proprietà Base Path. Se nella proprietà Base Path non viene specificato alcun percorso, il percorso relativo è relativo alla directory corrente. Per un esempio di utilizzo di questa proprietà, vedere Applying an XSL Transformation (SQLXMLOLEDB Provider). |
Nella tabella seguente sono incluse le descrizioni dei valori della proprietà ss Stream Flags.
Valore proprietà |
Descrizione |
---|---|
STREAM_FLAGS_DISALLOW_URL |
Gli URL non sono consentiti per gli schemi di mapping o XSL. |
STREAM_FLAGS_DISALLOW_ABSOLTE_PATH |
Un percorso specificato per uno schema di mapping o per XSL deve essere relativo al percorso di base del modello stesso. |
STREAM_FLAGS_DISALLOW_QUERY |
Le query non sono consentite in un modello. |
STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA |
Lo schema di mapping non viene memorizzato nella cache. Il valore di questa proprietà è utile durante la fase di sviluppo del database, quando gli schemi del database sono soggetti a modifiche. |
STREAM_FLAGS_DONTCACHETEMPLATE |
I modelli non vengono memorizzati nella cache. |
STREAM_FLAGS_DONTCACHEXSL |
XSL non viene memorizzato nella cache. |