Partilhar via


Utilização de 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 consultas baseada em HTTP era suportada usando diretórios virtuais SQLXML IIS e o filtro ISAPI SQLXML. No SQLXML 4.0, estes componentes foram removidos como semelhantes e funcionalidades sobrepostas são fornecidas com serviços Web XML nativos a partir do SQL Server 2005 (9.x).

Como alternativa, pode executar consultas e usar SQLXML 4.0 com as suas aplicações baseadas em COM, aproveitando as extensões SQLXML para ActiveX Data Objects (ADO) que foram introduzidas inicialmente no Microsoft Data Access Components (MDAC) 2.6 e posteriores.

Este tópico demonstra o uso de SQLXML e ADO como parte de uma aplicação Visual Basic Scripting Edition (VBScript) (um script com a extensão de ficheiro .vbs). Fornece procedimentos iniciais de configuração para ajudar a recriar e testar amostras de consulta na documentação do SQLXML 4.0.

Criação do Script de Teste SQLXML 4.0

Neste procedimento, cria-se um ficheiro VBScript (.vbs), Sqlxml4test.vbs, que pode ser usado para executar consultas SQLXML aproveitando as extensões SQLXML ADO no ADO 2.6 e posteriores.

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

  1. Copie o código abaixo e cole-o num ficheiro de texto. Guarde o ficheiro 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 está a tentar testar e para o seu ambiente de teste.

    • Encontre-o @@FILE_NAME@@ e substitua-o pelo nome do seu ficheiro modelo.

    • Encontre-a @@SERVER_NAME@@ e substitua-a pelo nome da sua instância SQL Server (por exemplo, (local) se o SQL Server estiver a correr localmente).

    • Encontre "@@DATABASE_NAME@@" e substitua-o pelo nome da base de dados (por exemplo, ou AdventureWorks2025 ).tempdb

    Atualize quaisquer outros valores se mencionados nas instruções específicas do exemplo que está a tentar recriar localmente no seu computador.

  3. Salve o arquivo e feche-o.

  4. Verifique se criou quaisquer ficheiros adicionais, como modelos XML ou esquemas, que façam parte do exemplo que está a tentar recriar localmente no seu computador. Estes ficheiros devem estar localizados no mesmo diretório onde guardaste o ficheiro do script de teste (Sqlxml4test.vbs).

  5. Siga as instruções na secção seguinte sobre como usar o script de teste SQLXML 4.0.

Usando o Script de Teste SQLXML 4.0

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

Para usar o testador de consultas SQLXML 4.0

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

    1. No menu Iniciar , aponte para Definições e depois clique no Painel de Controlo.

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

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

      Observação

      Se precisar de instalar o SQL Server Native Client, veja Instalar SQL Server Native Client.

  2. Verifique se a versão do MDAC instalada no computador cliente é 2.6 ou posterior. Se precisar de verificar informações sobre a versão do MDAC, pode usar a ferramenta MDAC Component Checker, que é disponibilizada gratuitamente no site da Microsoft. http://www.microsoft.com Para mais informações, pesquise "MDAC Component Checker" no site da Microsoft.

  3. Execute o script.

    Pode executar o ficheiro VBScript na linha de comandos usando Cscript.exe ou clicando duas vezes no ficheiro Sqlxml4test.vbs para invocar o Windows Script Host (WScript.exe).

    Quando executado, o script deve mostrar uma mensagem a alertar que o script pode demorar alguns momentos a ser executado antes de regressar e mostrar os resultados da consulta como saída do script. Quando o resultado aparece, compare o seu conteúdo com os resultados esperados para a amostra.