Freigeben über


Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen

In früheren Versionen von SQLXML wurde die HTTP-basierte Abfrageausführung mit virtuellen SQLXML IIS-Verzeichnissen und dem SQLXML ISAPI-Filter unterstützt. In SQLXML 4.0 wurden diese Komponenten entfernt, da ähnliche und überlappende Funktionen mit systemeigenen XML-Webdiensten ab SQL Server 2005 bereitgestellt werden.

Alternativ können Sie Abfragen ausführen und SQLXML 4.0 mit Ihren COM-basierten Anwendungen verwenden, indem Sie die SQLXML-Erweiterungen für ActiveX Data Objects (ADO) nutzen, die erstmals in Microsoft Data Access Components (MDAC) 2.6 und höher eingeführt wurden.

In diesem Thema wird die Verwendung von SQLXML und ADO als Teil einer Visual Basic Scripting Edition (VBScript)-Anwendung (ein Skript mit der Dateierweiterung .vbs) veranschaulicht. Es bietet erste Einrichtungsverfahren, mit denen Sie Abfragebeispiele in der SQLXML 4.0-Dokumentation neu erstellen und testen können.

Erstellen des SQLXML 4.0-Testskripts

In diesem Verfahren erstellen Sie eine VBScript-Datei (.vbs), sqlxml4test.vbs, die zum Ausführen von SQLXML-Abfragen verwendet werden kann, indem Sie die SQLXML ADO-Erweiterungen in ADO 2.6 und höher nutzen.

So erstellen Sie den SQLXML 4.0-Abfragetester mit ADO (VBScript).

  1. Kopieren Sie den folgenden VBScript-Code, und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als 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. Aktualisieren Sie die folgenden Skriptwerte für das Beispiel, das Sie testen möchten, und ihre Testumgebung.

    • Suchen Sie "@@FILE_NAME@@" und ersetzen Sie es durch den Namen der Vorlagendatei.

    • Suchen Sie "@@SERVER_NAME@@" und ersetzen Sie es durch den Namen Ihrer SQL Server-Instanz (z. B. "(local)" wenn SQL Server lokal ausgeführt wird).

    • Suchen Sie "@@DATABASE_NAME@@" und ersetzen Sie ihn durch den Namen der Datenbank (z. B. "AdventureWorks2012" oder "tempdb").

    Aktualisieren Sie alle anderen Werte, wenn sie in den spezifischen Anweisungen für das Beispiel erwähnt werden, das Sie lokal auf Ihrem Computer neu erstellen möchten.

  3. Speichern Sie die Datei, und schließen Sie sie.

  4. Stellen Sie sicher, dass Sie zusätzliche Dateien erstellt haben, z. B. XML-Vorlagen oder Schemas, die Teil des Beispiels sind, das Sie lokal auf Ihrem Computer neu erstellen möchten. Diese Dateien sollten sich im selben Verzeichnis befinden, in dem Sie die Testskriptdatei (Sqlxml4test.vbs) gespeichert haben.

  5. Befolgen Sie die Anweisungen im nächsten Abschnitt, um das SQLXML 4.0-Testskript zu verwenden.

Verwenden des SQLXML 4.0-Testskripts

Im folgenden Verfahren wird beschrieben, wie Sie die Sqlxml4test.vbs-Dateien verwenden, um die in dieser Dokumentation bereitgestellten Beispielabfragen zu testen.

So verwenden Sie den SQLXML 4.0-Abfragetester

  1. Vergewissern Sie sich, dass SQL Server Native Client wie folgt installiert ist:

    1. Zeigen Sie im Startmenü auf "Einstellungen", und klicken Sie dann auf "Systemsteuerung".

    2. Öffnen Sie in der Systemsteuerung " Programme hinzufügen oder entfernen"

    3. Überprüfen Sie in der Liste der derzeit installierten Programme, ob Microsoft SQL Server Native Client in der Liste angezeigt wird.

      Hinweis

      Wenn Sie SQL Server Native Client installieren müssen, lesen Sie die Installation von SQL Server Native Client.

  2. Stellen Sie sicher, dass die für den Clientcomputer installierte MDAC-Version 2.6 oder höher ist. Wenn Sie die MDAC-Versionsinformationen überprüfen müssen, können Sie das MDAC Component Checker-Tool verwenden, das als kostenloser Download von der Microsoft-Website https://www.microsoft.com/bereitgestellt wird. Weitere Informationen finden Sie auf der Microsoft-Website unter "MDAC Component Checker".

  3. Führen Sie das Skript aus.

    Sie können die VBScript-Datei entweder über Cscript.exe oder durch Doppelklicken auf die Datei "Sqlxml4test.vbs" ausführen, um den Windows Script Host (WScript.exe) aufzurufen.

    Wenn das Skript ausgeführt wird, sollte eine Meldung angezeigt werden, um Sie darüber zu informieren, dass das Skript einige Minuten dauern kann, bevor Abfrageergebnisse als Skriptausgabe zurückgegeben und angezeigt werden. Wenn die Ausgabe angezeigt wird, vergleichen Sie den Inhalt mit den erwarteten Ergebnissen für das Beispiel.