Udostępnij za pomocą


Wykorzystanie ADO do wykonywania zapytań SQLXML 4.0

Dotyczy:programu SQL ServerAzure SQL Database

W poprzednich wersjach SQLXML wykonywanie zapytań oparte na HTTP było obsługiwane przy użyciu wirtualnych katalogów SQLXML IIS oraz filtra SQLXML ISAPI. W SQLXML 4.0 te komponenty zostały usunięte, ponieważ podobna i nakładająca się funkcjonalność jest dostarczana w natywnych usługach XML Web od SQL Server 2005 (9.x).

Alternatywnie możesz wykonywać zapytania i używać SQLXML 4.0 z aplikacjami opartymi na COM, wykorzystując rozszerzenia SQLXML do ActiveX Data Objects (ADO), które zostały po raz pierwszy wprowadzone w Microsoft Data Access Components (MDAC) 2.6 i późniejszych.

Ten temat demonstruje wykorzystanie SQLXML i ADO jako części aplikacji Visual Basic Scripting Edition (VBScript) (skrypt z rozszerzeniem pliku .vbs). Zapewnia wstępne procedury konfiguracyjne, które pomagają odtworzyć i przetestować próbki zapytań w dokumentacji SQLXML 4.0.

Tworzenie skryptu testowego SQLXML 4.0

W tej procedurze tworzysz plik VBScript (.vbs), Sqlxml4test.vbs, który może być używany do wykonywania zapytań SQLXML, wykorzystując rozszerzenia SQLXML ADO w ADO 2.6 i nowszych.

Aby stworzyć tester zapytań SQLXML 4.0 za pomocą ADO (VBScript).

  1. Skopiuj poniższy kod i wklej go do pliku tekstowego. Zapisz plik jako 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. Zaktualizuj następujące wartości skryptów dla próbki, którą próbujesz przetestować, oraz dla swojego środowiska testowego.

    • Znajdź @@FILE_NAME@@ i zastąp go nazwą pliku szablonu.

    • Znajdź @@SERVER_NAME@@ i zastąp ją nazwą swojej instancji SQL Server (na przykład, (local) jeśli SQL Server działa lokalnie).

    • Znajdź "@@DATABASE_NAME@@" i zastąp ją nazwą bazy danych (na przykład albo AdventureWorks2025 albo tempdb).

    Aktualizuj inne wartości, jeśli są wymienione w konkretnych instrukcjach dla przykładu, który próbujesz odtworzyć lokalnie na komputerze.

  3. Zapisz plik i zamknij go.

  4. Sprawdź, czy stworzyłeś dodatkowe pliki, takie jak szablony XML lub schematy, które są częścią próbki, którą próbujesz odtworzyć lokalnie na komputerze. Pliki te powinny znajdować się w tym samym katalogu, w którym zapisałeś plik skryptu testowego (Sqlxml4test.vbs).

  5. Postępuj zgodnie z instrukcjami w następnej sekcji, jak korzystać ze skryptu testowego SQLXML 4.0.

Korzystanie ze skryptu testowego SQLXML 4.0

Poniższa procedura opisuje, jak użyć plików Sqlxml4test.vbs do testowania przykładowych zapytań dostępnych w tej dokumentacji.

Aby użyć testera zapytań SQLXML 4.0

  1. Sprawdź, czy SQL Server Native Client jest zainstalowany, w następujący sposób:

    1. W menu Start wskaż na Ustawienia, a następnie kliknij Panel sterowania.

    2. W panelu sterowania otwórz Dodaj lub Usuń programy

    3. W liście aktualnie zainstalowanych programów sprawdź, czy Microsoft SQL Server Native Client pojawia się na liście.

      Uwaga / Notatka

      Jeśli musisz zainstalować SQL Server Native Client, zobacz Installing SQL Server Native Client.

  2. Sprawdź, czy wersja MDAC zainstalowana dla komputera klienta to wersja 2.6 lub nowsza. Jeśli potrzebujesz zweryfikować informacje o wersji MDAC, możesz skorzystać z narzędzia MDAC Component Checker, które jest dostępne do bezpłatnego pobrania ze strony Microsoft. http://www.microsoft.com Aby uzyskać więcej informacji, wyszukaj "MDAC Component Checker" na stronie Microsoft.

  3. Wykonaj skrypt.

    Możesz uruchomić plik VBScript albo w wierszu poleceń, używając Cscript.exe, albo dwukrotnie klikając plik Sqlxml4test.vbs, aby wywołać Windows Script Host (WScript.exe).

    Po uruchomieniu skrypt powinien wyświetlić komunikat ostrzegający, że wykonanie może zająć kilka chwil, zanim zwróci się i wyświetli wyniki zapytań jako wyjście skryptu. Gdy pojawi się wynik, porównaj jego zawartość z oczekiwanymi wynikami dla próbki.