Att använda ADO för att köra SQLXML 4.0-frågor

gäller för:SQL ServerAzure SQL Database

I tidigare versioner av SQLXML stöddes HTTP-baserad frågeexekvering med hjälp av SQLXML IIS virtuella kataloger och SQLXML ISAPI-filtret. I SQLXML 4.0 har dessa komponenter tagits bort eftersom liknande och överlappande funktionalitet tillhandahålls med inbyggda XML-webbtjänster från och med SQL Server 2005 (9.x).

Som ett alternativ kan du köra frågor och använda SQLXML 4.0 med dina COM-baserade applikationer, genom att utnyttja SQLXML-tilläggen till ActiveX Data Objects (ADO) som först introducerades i Microsoft Data Access Components (MDAC) 2.6 och senare.

Detta ämne visar användningen av SQLXML och ADO som en del av en Visual Basic Scripting Edition (VBScript)-applikation (ett skript med filnamnsändelsen .vbs). Den tillhandahåller initiala installationsprocedurer för att hjälpa dig återskapa och testa frågeprover i SQLXML 4.0-dokumentationen.

Skapa SQLXML 4.0 testskript

I denna procedur skapar du en VBScript (.vbs)-fil, Sqlxml4test.vbs, som kan användas för att köra SQLXML-frågor genom att utnyttja SQLXML ADO-tilläggen i ADO 2.6 och senare.

För att skapa SQLXML 4.0-frågetestaren med ADO (VBScript).

  1. Kopiera koden nedan och klistra in den i en textfil. Spara filen som 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. Uppdatera följande skriptvärden för det prov du försöker testa och din testmiljö.

    • Hitta @@FILE_NAME@@ och ersätt den med namnet på din mallfil.

    • Hitta @@SERVER_NAME@@ och ersätt det med namnet på din SQL Server-instans (till exempel (local) om SQL Server körs lokalt).

    • Hitta "@@DATABASE_NAME@@" och ersätt det med databasens namn (till exempel antingen AdventureWorks2025 eller tempdb).

    Uppdatera eventuella andra värden om de nämns i de specifika instruktionerna för exemplet du försöker återskapa lokalt på din dator.

  3. Spara filen och stäng den.

  4. Verifiera att du har skapat några ytterligare filer, såsom XML-mallar eller scheman som ingår i det exempel du försöker återskapa lokalt på din dator. Dessa filer bör finnas i samma katalog där du har sparat testskriptfilen (Sqlxml4test.vbs).

  5. Följ instruktionerna i nästa avsnitt för hur du använder SQLXML 4.0 testskriptet.

Användning av SQLXML 4.0 testskriptet

Följande progé beskriver hur man använder Sqlxml4test.vbs-filerna för att testa exempelfrågorna som tillhandahålls i denna dokumentation.

För att använda SQLXML 4.0-frågetestaren

  1. Verifiera att SQL Server Native Client är installerad, enligt följande:

    1. Från Startmenyn , peka på Inställningar och klicka sedan på Kontrollpanelen.

    2. I Kontrollpanelen, öppna Lägg till eller ta bort program

    3. I listan över för närvarande installerade program, kontrollera att Microsoft SQL Server Native Client finns med i listan.

      Anmärkning

      Om du behöver installera SQL Server Native Client, se Installera SQL Server Native Client.

  2. Kontrollera att versionen av MDAC som installeras för klientdatorn är 2.6 eller senare. Om du behöver verifiera MDAC:s versionsinformation kan du använda MDAC Component Checker-verktyget, som tillhandahålls som gratis nedladdning från Microsofts webbplats. http://www.microsoft.com För mer information, sök på "MDAC Component Checker" på Microsofts webbplats.

  3. Kör skriptet.

    Du kan köra VBScript-filen antingen på kommandoraden med Cscript.exe eller genom att dubbelklicka på filen Sqlxml4test.vbs för att anropa Windows Script Host (WScript.exe).

    När skriptet körs ska det visa ett meddelande som varnar dig om att skriptet kan ta några ögonblick innan det returneras och visar frågeresultat som skriptutdata. När utdata visas, jämför dess innehåll med de förväntade resultaten för provet.