本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL]XLODBC,XLQUERYアドイン関数で使用する接続文字列

文書番号: 402331

最終更新日: 1997/11/27


この資料は以下の製品について記述したものです。

この記事は、以前は次の ID で公開されていました: JP402331

概要

本文書は、Microsoft(R) Visual Basic(R) Programming System Applications Edition (以下 VBA) で XLODBC アドイン関数および XLQUERY アドイン関数を使用する際の接続文字列について、サンプル モジュールと共に解説しています。

詳細

次の各関数を使用する場合は、第一引数にデータベース接続に必要な情報 (データソース名、ユーザ ID、パスワードなど) を含む文字列を必ず指定します。
  XLODBC アドイン関数
  -------------------
   SQLOpen
   SQLRequest
  XLQUERY アドイン関数
  --------------------
   QueryGetData
   QueryGetDataDialog
この文字列は、お使いの ODBC ドライバによって異なります。本文書では、SQLServer および ORACLE の ODBC ドライバの接続文字列について解説しています。その他のデータベースの ODBC ドライバについては、マニュアルまたはオンラインヘルプを参照していただくか、各 ODBC ドライバ メーカー様へお問い合わせ下さい。

使用例

1. SQLServer

SQLServer ドライバに対する接続文字列として、次のキーワードを使います。キーワードの中には省略可能なものもあります。
  キーワード   内容
  ---------------------------------------------------------------------------
  DSN          データソースの名前
  SERVER       サーバーの名前
  UID          ユーザーのログイン ID
  PWD          ユーザーが指定したパスワード
  APP          SQLServer ドライバを呼び出すアプリケーションの名前 (省略可能)
  WSID         ワークステーションの ID (省略可能)
  DATABASE     データベース名

サンプル

Excel 5.0 を使ってサーバー「 SQLServer 」にワークステーション「 WorkSta 」から接続するとき、データソース「 SampleSQL 」、ログオン ID 「 sa 」、パスワード「 Excel 」、データベース名「 pubs 」である場合は、次のように記述します(VBA サンプルモジュールでは、キーワード「 APP 」と「 WSID 」を省略しています)。

接続文字列

  DSN=SampleSQL;UID=sa;PWD=Excel;APP=Microsoft Excel;WSID=WorkSta;DATABASE=pubs

サンプル モジュール

  Sub GetDataSQL()
      Dim con As Variant
      Dim sql As String
      'データソースとの接続を確立し SQLOpen のリターン値を変数 con にセット
      con = SQLOpen("DSN=SampleSQL;UID=sa;PWD=Excel;DATABASE=pubs", , 2)
      'SQL 文定義
      sql = "SELECT * FROM 売上"
      'クエリーの実行
      SQLExecQuery con, sql
      '実行されたクエリーの結果を取得し Sheet1 のセル A1 に貼り付け
      SQLRetrieve con, Range("Sheet1!A1"), , , True
      'データソースとの接続を切断
      SQLClose con
  End Sub

参照

接続文字列についての詳細は、オンラインヘルプを参照してください。ヘルプの表示方法は次の通りです。MicrosoftQuery のメニューから [?] - [目次] コマンドを実行し、「 ODBC ドライバ」 - 「 SQL Server 」 - 「接続文字列 (上級) 」の順にクリックします。

2. ORACLE

ORACLE ドライバに対する接続文字列として、次のキーワードを使います。
  キーワード   内容
  ---------------------------------------------------------------------------
  DSN          データソース名
  DBQ          ORACLE の接続文字列
  UID          ユーザ ID
  PWD          パスワード
キーワード「 DBQ 」は SQL*Net 接続文字列を指定します。この指定は次の形式で行います。
  net_prefix:hostname[:SID]
  net_prefix
  ----------
  使用する SQL*Net ドライバを指定します。
    B:   NetBIOS
    D:   DECnet
    P:   名前付きパイプ
    T:   TCP/IP
    X:   SPX/IPX
  hostname
  --------
  ORACE Server が保存されているサーバーの名前を指定します。
  SID
  ---
  サーバー上で使うデータベースのシステム ID を指定します (省略可)。

サンプル

サーバー「 ORACE 」に「 Named pipes 」を使用して接続するとき、データソース「 SampleORA 」、ログイン ID 「 SCOTT 」、パスワード「 tiger 」である場合は、次のように記述します。

接続文字列

  DSN=SampleORA;DBQ=p:ORACLE;UID=SCOTT;PWD=tiger

サンプル モジュール

  Sub GetDataORA()
      Dim con As Variant
      Dim sql As String
      'データソースとの接続を確立し SQLOpen のリターン値を変数 con にセット
      con = SQLOpen("DSN=SampleORA;DBQ=p:ORACLE;UID=SCOTT;PWD=tiger", _ , 2)
      'SQL 文定義
      sql = "SELECT * FROM 売上"
      'クエリーの実行
      SQLExecQuery con, sql
      '以前に実行されたクエリーの結果を取得し Sheet1 のセル A1 に貼り付け
      SQLRetrieve con, Range("Sheet1!A1"), , , True
      'データソースとの接続を切断
      SQLClose con
  End Sub

参照

接続文字列についての詳細は、オンラインヘルプを参照してください。ヘルプの表示方法は次の通りです。
  1. Windows のプログラム マネージャをアクティブにし、[メイン] グループに含まれる[コントロール パネル] アイコンをダブル クリックして起動します
  2. [コントロール パネル] から [ODBC] アイコンをダブル クリックし、[データソース] ダイアログ ボックスから <追加> ボタンをクリックします
  3. [データソースの追加] ダイアログ ボックスの [使用可能な ODBC ドライバ] リストボックスから「 Oracle7 」または「 ORACLE Driver 」を選択し <OK> ボタンをクリックします
  4. [ODBC セットアップ] ダイアログ ボックスの <ヘルプ> ボタン をクリックすると「 ODBC ORACLE ドライバヘルプ」が表示されます
  5. <目次> ボタンをクリックし、ODBC ORACLE ドライバヘルプの目次を表示します
  6. 「接続文字列 (上級) 」を選択します

詳細

  • データベースに接続する前に コントロールパネルで SQLOpen の第一引数 DSN= で使用するデータソースを定義しておく必要があります。
  • サンプルプログラムで使用する SQLOpen、SQLExecQuery、SQLRetrieve、SQLClose は XLODBC アドインに含まれます。この関数を使用可能にするには、[ツール] - [参照設定] コマンドで XLODBC.XLA の参照を設定しておく必要があります。
  • XLODBC アドイン関数についての詳細は、[?] - [キーワードで検索] コマンド - [ODBC 関数アドイン] を参照して下さい。

Keywords: KBHOWTO KB402331
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system