Aracılığıyla paylaş


Using ADO to Execute SQLXML 4.0 Queries

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Önceki SQLXML sürümlerinde, HTTP tabanlı sorgu yürütme SQLXML IIS sanal dizinleri ve SQLXML ISAPI filtresi kullanılarak destekleniyordu. SQLXML 4.0'da, benzer ve örtüşen işlevler SQL Server 2005 (9.x)'den itibaren yerel XML Web servisleriyle sağlandığı için bu bileşenler kaldırılmıştır.

Alternatif olarak, Microsoft Data Access Components (MDAC) 2.6 ve sonrasında ilk kez tanıtılan ActiveX Data Objects (ADO) için SQLXML uzantılarından yararlanarak, COM tabanlı uygulamalarınızda sorgular çalıştırabilir ve SQLXML 4.0 kullanabilirsiniz.

Bu konu, Visual Basic Scripting Edition (VBScript) uygulamasının (.vbs dosya uzantısı olan bir betik) parçası olarak SQLXML ve ADO'nun kullanılmasını göstermektedir. SQLXML 4.0 dokümantasyonunda sorgu örneklerini yeniden oluşturup test etmenize yardımcı olacak ilk kurulum prosedürleri sağlar.

SQLXML 4.0 Test Script'inin Oluşturulması

Bu prosedürde, ADO 2.6 ve sonrasında SQLXML ADO uzantılarını kullanarak SQLXML sorgularını çalıştırmak için kullanılabilen Sqlxml4test.vbs adlı bir VBScript (.vbs) dosyası oluşturulur.

ADO (VBScript) kullanarak SQLXML 4.0 sorgu testleyicisi oluşturmak için.

  1. Aşağıdaki kodu kopyalayın ve metin dosyasına yapıştırın. Dosyayı Sqlxml4test.vbs olarak kaydedin.

    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. Test etmeye çalıştığınız örnek ve test ortamınız için aşağıdaki script değerlerini güncelleyin.

    • Şablon dosyanızın adıyla bulup @@FILE_NAME@@ değiştirin.

    • Onu bulun @@SERVER_NAME@@ ve SQL Server örneğinizin adıyla değiştirin (örneğin, (local) SQL Server yerel çalışıyorsa).

    • "@@DATABASE_NAME@@" bulun ve veritabanının adını koyunlar (örneğin, ya AdventureWorks2025 da tempdb).

    Bilgisayarınızda yerel olarak yeniden yaratmaya çalıştığınız örnek için özel talimatlarda belirtilen diğer değerleri güncelleyin.

  3. Dosyayı kaydedin ve kapatın.

  4. Bilgisayarınızda yerel olarak yeniden oluşturmaya çalıştığınız örnekle ilgili XML şablonları veya şemalar gibi ek dosyalar oluşturduğunuzdan emin olun. Bu dosyalar, test script dosyasını kaydettiğiniz dizinde (Sqlxml4test.vbs) bulunmalıdır.

  5. SQLXML 4.0 test bebeğini nasıl kullanacağınızı gösteren bir sonraki bölümdeki talimatları takip edin.

SQLXML 4.0 Test Script'in Kullanımı

Aşağıdaki prosedür, bu dokümantasyonda verilen örnek sorguları test etmek için Sqlxml4test.vbs dosyalarının nasıl kullanılacağını açıklar.

SQLXML 4.0 sorgu testerini kullanmak için

  1. SQL Server Native Client'ın kurulmuş olduğunu aşağıdaki gibi doğrulayın:

    1. Başlat menüsünden Ayarlar'a işaret edin ve ardından Kontrol Paneli'ne tıklayın.

    2. Kontrol Paneli'nde, Programları Ekle veya Kaldır seçeneğini açın

    3. Şu anda kurulu programlar listesinde Microsoft SQL Server Native Client'ın listede göründüğünü doğrulayın.

      Uyarı

      SQL Server Native Client kurmanız gerekiyorsa, SQL Server Native Client Kurulum bölümüne bakınız.

  2. İstemci bilgisayar için yüklenmiş MDAC sürümünün 2.6 veya daha yeni olduğunu doğrulayın. MDAC sürüm bilgilerini doğrulamanız gerekirse, Microsoft web sitesinden ücretsiz olarak sunulan MDAC Bileşen Kontrol Aracı'nı kullanabilirsiniz. http://www.microsoft.com Daha fazla bilgi için Microsoft web sitesinde "MDAC Component Checker" dizisinde arama yapabilirsiniz.

  3. Betik yürüt.

    VBScript dosyasını ya komut satırında Cscript.exe ile çalıştırabilir veya Sqlxml4test.vbs dosyasına çift tıklayarak Windows Script Host'u çağırabilirsiniz (WScript.exe).

    Çalıştırıldığında, script bir mesaj göstererek betikin birkaç dakika sürebileceğini bildirmeli, ardından geri dönüp sorgu sonuçlarını script çıktısı olarak göstermelidir. Çıktı göründüğünde, içeriğini örneklem için beklenen sonuçlarla karşılaştırın.