Compartilhar via


Introdução ao Provedor SQLXMLOLEDB (SQLXML 4.0)

O Provedor SQLXMLOLEDB é um provedor OLE DB que expõe a funcionalidade do Microsoft SQLXML por meio do ADO (ActiveX Data Objects). No entanto, o provedor só pode executar comandos no modo "gravar em um fluxo de saída" do ADO. O Provedor SQLXMLOLEDB não é um provedor de conjunto de linhas. Ao executar um comando, você deve especificar o sinalizador adExecuteStream, que orienta o ADO a usar o fluxo de saída especificado.

O exemplo a seguir mostra a sintaxe do comando Execute no qual o sinalizador adExecuteStream é especificado:

Dim oTestCommand As New ADODB.Command  
...  
oTestCommand.Properties("Output Stream").Value = oTestStream  
oTestCommand.Execute , , adExecuteStream  
...  

Propriedades específicas do provedor SQLXMLOLEDB

O Provedor SQLXMLOLEDB expõe a propriedade de conexão específica do provedor a seguir.

Conexão

propriedade
Padrão

(se houver)
Descrição
Provedor de Dados Fornece o PROGID do provedor OLE DB por meio do qual o SQLXMLOLEDB executa os comandos. A partir do SQLXML 4.0 e do SQL Server 2005, esse provedor está contido no SQL Server Native Client; portanto, esse valor de propriedade é restrito a "SQLNCLI11". Para obter mais informações, consulte Programação de cliente nativo do SQL Server.

O Provedor SQLXMLOLEDB expõe as seguintes propriedades de comando específicas do provedor.

Comando

propriedade
Padrão

(se houver)
Descrição
Caminho base "" Especifica o caminho do arquivo base. O caminho do arquivo base é usado para especificar o local da XSL (Linguagem de Folha de Estilos XML) ou arquivos de esquema de mapeamento. O caminho do arquivo base também é usado para resolver os caminhos relativos de arquivos de esquema XSL ou de mapeamento especificados nas propriedades XSL ou Esquema de Mapeamento.

Para obter um exemplo no qual essa propriedade é usada, consulte Executando consultas XPath (Provedor SQLXMLOLEDB).
ClientSideXML Falso Defina essa propriedade como True se desejar que o processo de conversão do conjunto de linhas em XML ocorra no cliente em vez de no servidor. Isso é útil quando você deseja mover a carga de desempenho para a camada intermediária.

Para obter um exemplo no qual essa propriedade é usada, consulte Executando consultas SQL (provedor SQLXMLOLEDB) ou executando modelos que contêm consultas SQL (provedor SQLXMLOLEDB).
Tipo de conteúdo Retorna o tipo de conteúdo de saída. Esta é uma propriedade READ ONLY.

Essa propriedade fornece informações ao navegador sobre o tipo de conteúdo (como TEXT/XML, TEXT/HTML, image/jpeg e assim por diante). O valor dessa propriedade torna-se o campo de tipo de conteúdo que é enviado para o navegador como parte do cabeçalho HTTP, que contém o tipo MIME (Extensões de Email de Internet Multiuso) do documento que está sendo enviado como o corpo.
Esquema de mapeamento NULO Se um aplicativo cliente executar uma consulta XPath em um esquema de mapeamento (XDR ou XSD), essa propriedade será usada para especificar o nome do esquema de mapeamento.

O caminho especificado pode ser relativo (xyz/abc/MySchema.xml) ou absoluto (C:\MyFolder\abc\MySchema.xml).

Se um caminho relativo for especificado, o caminho base especificado pela propriedade Caminho Base será usado para resolver o caminho relativo. Se nenhum caminho tiver sido especificado na propriedade Caminho Base, o caminho relativo será relativo ao diretório atual.

Ao especificar um valor para a propriedade Esquema de Mapeamento, você pode especificar um caminho de diretório local ou uma URL (http://...). Se você especificar uma URL, deverá configurar o WinHTTP para acessar servidores HTTP e HTTPS por meio de um servidor proxy. Você pode fazer isso executando o utilitário Proxycfg.exe. Para obter mais informações, consulte "Usando o Utilitário de Configuração de Proxy WinHTTP" na Biblioteca MSDN.

Para obter um exemplo no qual essa propriedade é usada, consulte Executando consultas XPath (Provedor SQLXMLOLEDB).
namespaces Essa propriedade permite a execução de consultas XPath que usam namespaces. Para obter um exemplo no qual essa propriedade é usada, consulte Executando consultas XPath com namespaces (provedor SQLXMLOLEDB).
ss Stream Flags Essa propriedade é usada para especificar tipos específicos de restrições de segurança. Por exemplo, talvez você não queira permitir referências de URL a arquivos ou caminhos absolutos para arquivos (como sites externos). Ou talvez você não queira permitir consultas nos modelos.

A propriedade pode ser atribuída a esses valores:

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

Informações adicionais sobre esses valores são fornecidas na próxima tabela.
raiz xml Essa propriedade é usada para definir uma marca raiz para o XML resultante. Por exemplo, se você executar consultas SQL no banco de dados e o documento XML resultante não tiver um único elemento raiz, o valor da propriedade será usado para adicionar um único elemento raiz ao documento.

Para obter um exemplo no qual essa propriedade é usada, consulte Executando consultas SQL (Provedor SQLXMLOLEDB).
xsl Essa propriedade é usada para especificar o nome do arquivo XSL quando você deseja aplicar a transformação XSL ao documento XML retornado pela consulta.

O caminho especificado pode ser relativo (xyz/abc/MyXSL.xsl) ou absoluto (C:\MyFolder\abc\MyXSL.xsl).

Se um caminho relativo for especificado, o caminho base especificado pela propriedade Caminho Base será usado para resolver o caminho relativo. Se nenhum caminho tiver sido especificado na propriedade Caminho Base, o caminho relativo será relativo ao diretório atual.

Para obter um exemplo no qual essa propriedade é usada, consulte Aplicar uma transformação XSL (Provedor SQLXMLOLEDB).

A tabela a seguir contém descrições dos valores da propriedade ss Stream Flags.

Valor da propriedade Descrição
STREAM_FLAGS_DISALLOW_URL As URLs não são aceitas para esquemas de mapeamento ou XSL.
STREAM_FLAGS_DISALLOW_ABSOLTE_PATH Um caminho especificado para um esquema de mapeamento ou para XSL deve ser relativo ao caminho base do próprio modelo.
STREAM_FLAGS_DISALLOW_QUERY Consultas não são permitidas em um modelo.
STREAM_FLAGS_DONTCACHEMAPPINGSCHEMA O esquema de mapeamento não é armazenado em cache. Esse valor de propriedade é útil durante a fase de desenvolvimento do banco de dados, quando os esquemas de banco de dados estão sujeitos a alterações.
STREAM_FLAGS_DONTCACHETEMPLATE Os modelos não são armazenados em cache.
STREAM_FLAGS_DONTCACHEXSL O XSL não é armazenado em cache.