次の方法で共有


ADO を使用した SQLXML 4.0 クエリの実行

以前のバージョンの SQLXML では、SQLXML IIS 仮想ディレクトリと SQLXML ISAPI フィルターを使用して HTTP ベースのクエリ実行がサポートされていました。 SQLXML 4.0 では、これらのコンポーネントは同様の機能として削除されており、重複する機能は SQL Server 2005 以降のネイティブ XML Web サービスで提供されています。

代わりに、Microsoft Data Access Components (MDAC) 2.6 以降で最初に導入された ActiveX データ オブジェクト (ADO) に対する SQLXML 拡張機能を利用することで、クエリを実行し、COM ベースのアプリケーションで SQLXML 4.0 を使用することもできます。

このトピックでは、Visual Basic Scripting Edition (VBScript) アプリケーション (.vbs ファイル拡張子を持つスクリプト) の一部として SQLXML と ADO を使用する方法について説明します。 SQLXML 4.0 ドキュメントのクエリ サンプルの再作成とテストに役立つ初期セットアップ手順が用意されています。

SQLXML 4.0 テスト スクリプトの作成

この手順では、VBScript (.vbs) ファイル Sqlxml4test.vbs を作成します。このファイルを使用して、ADO 2.6 以降の SQLXML ADO 拡張機能を利用して SQLXML クエリを実行できます。

ADO (VBScript) を使用して SQLXML 4.0 クエリ テスターを作成するには

  1. 以下の VBScript コードをコピーし、テキスト ファイルに貼り付けます。 ファイルを 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. テストしようとしているサンプルとテスト環境の次のスクリプト値を更新します。

    • "@@FILE_NAME@@" を見つけて、テンプレート ファイルの名前に置き換えます。

    • "@@SERVER_NAME@@" を見つけて、SQL Server インスタンスの名前に置き換えます (SQL Server がローカルで実行されている場合は "(local)" など)。

    • "@@DATABASE_NAME@@" を見つけて、データベースの名前に置き換えます (例: "AdventureWorks2012" または "tempdb")。

    コンピューターでローカルに再作成しようとしている例の具体的な手順に記載されている場合は、他の値を更新します。

  3. ファイルを保存して閉じます。

  4. コンピューターでローカルに再作成しようとしているサンプルの一部である XML テンプレートやスキーマなど、追加のファイルが作成されていることを確認します。 これらのファイルは、テスト スクリプト ファイル (Sqlxml4test.vbs) を保存したのと同じディレクトリに配置する必要があります。

  5. SQLXML 4.0 テスト スクリプトの使用方法については、次のセクションの手順に従います。

SQLXML 4.0 テスト スクリプトの使用

次の手順では、Sqlxml4test.vbs ファイルを使用して、このドキュメントで提供されるクエリの例をテストする方法について説明します。

SQLXML 4.0 クエリ テスターを使用するには

  1. 次のように、SQL Server Native Client がインストールされていることを確認します。

    1. [スタート] メニューの [設定] をポイントし、[コントロール パネル] をクリックします。

    2. コントロール パネルで、[プログラムの追加と削除] を開きます

    3. 現在インストールされているプログラムの一覧で、 Microsoft SQL Server Native Client が一覧に表示されることを確認します。

      SQL Server Native Client をインストールする必要がある場合は、「 SQL Server Native Client のインストール」を参照してください。

  2. クライアント コンピューターにインストールされている MDAC のバージョンが 2.6 以降であることを確認します。 MDAC のバージョン情報を確認する必要がある場合は、MDAC コンポーネント チェッカー ツールを使用できます。このツールは、Microsoft Web サイト https://www.microsoft.com/から無料でダウンロードできます。 詳細については、Microsoft Web サイトの 「MDAC コンポーネント チェッカー」を参照してください。

  3. スクリプトを実行します。

    VBScript ファイルは、Cscript.exe を使用してコマンド ラインで実行するか、Sqlxml4test.vbs ファイルをダブルクリックして Windows スクリプト ホスト (WScript.exe) を呼び出すことによって実行できます。

    スクリプトを実行すると、スクリプトの出力としてクエリ結果を返して表示する前に、スクリプトの実行にしばらく時間がかかる可能性があることを警告するメッセージが表示されます。 出力が表示されたら、その内容をサンプルの予想される結果と比較します。