Usando o ADO para executar consultas SQLXML 4.0

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

Em versões anteriores do SQLXML, a execução de consulta baseada em HTTP tinha suporte usando diretórios virtuais do IIS SQLXML e o filtro ISAPI SQLXML. No SQLXML 4.0, esses componentes foram removidos como semelhante e funcionalidade sobreposta é fornecida com XML Web Services nativos a partir do SQL Server 2005 (9.x).

Como alternativa, você pode executar consultas e usar o SQLXML 4.0 com seus aplicativos baseados em COM, aproveitando as extensões SQLXML para ActiveX Data Objects (ADO) que foram introduzidas pela primeira vez no Microsoft Data Access Components (MDAC) 2.6 e posterior.

Este tópico demonstra o uso de SQLXML e ADO como parte de um aplicativo VBScript (Visual Basic Scripting Edition) (um script com a extensão de nome de arquivo .vbs). Ele fornece procedimentos de instalação inicial para ajudá-lo a recriar e testar exemplos de consulta na documentação do SQLXML 4.0.

Criando o script de teste do SQLXML 4.0

Neste procedimento, você cria um arquivo VBScript (.vbs), Sqlxml4test.vbs, que pode ser usado para executar consultas SQLXML aproveitando as extensões SQLXML ADO no ADO 2.6 e posterior.

Para criar o testador de consulta SQLXML 4.0 usando ADO (VBScript).

  1. Copie o código abaixo e cole-o em um arquivo de texto. Salve o arquivo como Sqlxml4test.vbs.

    WScript.Echo "Query process may take a few seconds to complete. Please be patient."  
    
    ' Note that for SQL Server Native Client to be used as the data provider,  
    ' it needs to be installed on the client computer first. Also, SQLXML extensions   
    ' for ADO are used and available in MDAC 2.6 or later.  
    
    'Set script variables.  
    inputFile = "@@FILE_NAME@@"  
    strServer = "@@SERVER_NAME@@"  
    strDatabase = "@@DATABASE_NAME@@"  
    dbGuid = "{5d531cb2-e6ed-11d2-b252-00c04f681b71}"  
    
    ' Establish ADO connection to SQL Server and   
    ' create an instance of the ADO Command object.  
    Set conn = CreateObject("ADODB.Connection")  
    Set cmd = CreateObject("ADODB.Command")  
    conn.Open "Provider=SQLXMLOLEDB.4.0;Data Provider=SQLNCLI11;Server=" & strServer & _  
              ";Database=" & strDatabase & ";Integrated Security=SSPI"  
    Set cmd.ActiveConnection = conn  
    
    ' Create the input stream as an instance of the ADO Stream object.  
    Set inStream = CreateObject("ADODB.Stream")  
    inStream.Open  
    inStream.Charset = "utf-8"  
    inStream.LoadFromFile inputFile  
    
    ' Set ADO Command instance to use input stream.  
    Set cmd.CommandStream = inStream  
    
    ' Set the command dialect.  
    cmd.Dialect = dbGuid  
    
    ' Set a second ADO Stream instance for use as a results stream.   
    Set outStream = CreateObject("ADODB.Stream")  
    outStream.Open  
    
    ' Set dynamic properties used by the SQLXML ADO command instance.   
    cmd.Properties("XML Root").Value = "ROOT"  
    cmd.Properties("Output Encoding").Value = "UTF-8"  
    
    ' Connect the results stream to the command instance and execute the command.  
    cmd.Properties("Output Stream").Value = outStream  
    cmd.Execute , , 1024  
    
    ' Echo cropped/partial results to console.  
    WScript.Echo Left(outStream.ReadText, 1023)  
    
    inStream.Close  
    outStream.Close  
    
  2. Atualize os seguintes valores de script para o exemplo que você está tentando testar e seu ambiente de teste.

    • Localize @@FILE_NAME@@ e substitua-o pelo nome do arquivo de modelo.

    • Localize @@SERVER_NAME@@ e substitua-o pelo nome da instância do SQL Server (por exemplo, (local) se o SQL Server estiver sendo executado localmente).

    • Localize ""@@DATABASE_NAME@@ e substitua-o pelo nome do banco de dados (por exemplo, um AdventureWorks2022 ou tempdb).

    Atualize quaisquer outros valores, se mencionados nas instruções específicas para o exemplo que você está tentando recriar localmente em seu computador.

  3. Salve o arquivo e feche-o.

  4. Verifique se você criou arquivos adicionais, como modelos XML ou esquemas que fazem parte do exemplo que você está tentando recriar localmente no computador. Esses arquivos devem estar localizados no mesmo diretório onde você salvou o arquivo de script de teste (Sqlxml4test.vbs).

  5. Siga as instruções na próxima seção para saber como usar o script de teste do SQLXML 4.0.

Usando o script de teste SQLXML 4.0

O procedimento a seguir descreve como usar os arquivos Sqlxml4test.vbs para testar as consultas de exemplo fornecidas nesta documentação.

Para usar o testador de consulta SQLXML 4.0

  1. Verifique se o SQL Server Native Client está instalado, da seguinte maneira:

    1. No menu Iniciar , aponte para configurações e, em seguida, clique em Painel de controle .

    2. No Painel de Controle, abra Adicionar ou Remover Programas

    3. Na lista de programas instalados, verifique se o Microsoft SQL Server Native Client aparece na lista.

      Observação

      Se você precisar instalar o SQL Server Native Client, consulte Instalando o SQL Server Native Client.

  2. Verifique se a versão do MDAC instalada para o computador cliente é 2.6 ou posterior. Se você precisar verificar as informações de versão do MDAC, você pode usar a ferramenta Verificador de componentes do MDAC, que é fornecida como download gratuito do site da Microsoft, http://www.microsoft.com. Para obter mais informações, procure em "MDAC Component Checker" no site da Microsoft.

  3. Execute o script.

    Você pode executar o arquivo VBScript na linha de comando usando Cscript.exe ou clicando duas vezes no arquivo Sqlxml4test.vbs para invocar o Windows Script Host (WScript.exe).

    Quando executado, o script deve exibir uma mensagem para alertá-lo de que o script pode levar alguns instantes para ser executado antes de retornar e exibir os resultados da consulta como saída do script. Quando a saída for exibida, compare seu conteúdo com os resultados esperados para a amostra.