SQL Server 2000を使ってみよう
第1回:SQL Server 2000 の概要と基本設定
(株)日本ユニテック
山崎 太郎
目次<全3ページ>
3.SQL Server 2000の準備
XMLサポートの設定
Web ブラウザを使ってアクセス
|
SQL Server 2000 の準備
今回の演習を実際に行うためには、SQL Server 2000 が適切にインストールされていなければなりません。また、IIS(Internet
Information Services)の機能を利用しますので、IIS の設定(WWWサーバーが正しく動作している必要があります)も行われていることを確認します。
実際に使用するためには、以下の点をチェックしてください。
- SQL Server 2000 が正しくインストールされていること
- NorthWind データベースがインストールされていること
- SQL Server 2000 のサービスが開始していること
- IIS(Internet Information Services)が正しくインストールされていること
- IIS の WWW(HTTP)サービスが開始していること
これらの点が確認できたら、XML サポートの設定を行います。
XML サポートの設定
SQL Server 2000 では、プログラムメニューの中にある「IIS での SQL XML サポートの設定」を利用して XML
サポートの設定を行います。
Web ブラウザを使って SQL Server にアクセスするためには、Web サーバー上の特定の仮想ディレクトリを SQL Server
へのアクセス用に作成し、ユーザーがその仮想ディレクトリにアクセスすると SQL Server に接続してデータを XML として取得できるように設定します。
プログラムメニューから「IIS での SQL XML サポートの設定」を選択すると、MMC(Microsoft Management
Console)のスナップインとして「SQL Server の IIS 仮想ディレクトリ」ウィンドウが表示されます。

マシン名の横にある「+」記号をクリックすると、IIS で設定されている Web サイトがリストされます。今回は「既定の Web サイト」を利用することにします。
「既定の Web サイト」で右クリックし、メニューから [新規作成] - [仮想ディレクトリ] を選択すると、XML サポート用の仮想ディレクトリを設定するウィンドウが開かれます。

このウィンドウに出てくる 6つのタブを使って設定を行います。
これらのタブで設定できる内容は、次のとおりです。
「全般」タブ
仮想ディレクトリ名 |
URL に記述されるパスです。もし、仮想ディレクトリを「sqldb」という名前にすると、Web サーバーからアクセスする際には
URL を http://サーバー名/sqldb と指定することになります。 |
ローカルパス |
実際にテンプレートファイルなどが格納される物理ディレクトリをフルパスで指定します。 |
「セキュリティ」タブ
認証方法 |
データベースにアクセスする際に使用される認証方法を選択します。
指定のユーザー ID とパスワードを使ってアクセスするか、Windows 統合認証や SQL Server アカウントへの基本認証を使用するかを指定します。 |
「データソース」タブ
SQL Server |
使用する SQL Server のサーバー名です。 |
データベース |
使用するデータベース名です。 |
「設定」タブ
URL クエリを許可 |
URLに直接 SQL を記述してデータベースにアクセスできるようにするかを指定します。非常に便利な機能ですが、データベースに自由にアクセスできてしまうため、セキュリティに注意しなければなりません。この理由から、デフォルトではチェックされていません。 |
テンプレートクエリを
許可 |
管理者によって事前に作成されているテンプレートを使ってアクセスできるようにするかを指定します。クエリは管理者が作成しておくものですので、データベースの構造などがユーザーの目に触れることはありません。デフォルトでチェックされています。
|
XPath を許可 |
ユーザーが XPath クエリを使用してアクセスできるかどうかを指定します。デフォルトではチェックされていません。 |
POST を許可 |
データベースサーバーに対してデータの送信を行えるようにするかを指定します。また、許可する場合には、データの最大サイズも指定することができます。デフォルトではチェックされていません。 |
「仮想名」タブ
定義済み仮想名 |
Web ブラウザからスキーマ(schema)やテンプレート(template)、データベースオブジェクト(dbobject)を指定する際に、URLに記述する仮想名を設定します。 |
「詳細設定」タブ
ISAPI の場所 |
SQL Server 2000 のインスタンスに仮想ディレクトリ経由でアクセスする際に使用される ISAPI
DLL である sqlisapi.dll の場所を指定します。通常はデフォルトのままで問題ありませんが、ネットワーク上の別のコンピュータに接続する場合などに変更することがあります。
|
追加ユーザー設定 |
データベースに接続する際に使用される OLE DB の接続文字列に追加したい文字列があればここに記述します。通常は空のままにしておきます。
|
キャッシュオプション |
マッピング スキーマをキャッシュに格納するかどうかを指定します。 |
今回は、次のように設定します。
「全般」タブ
仮想ディレクトリ名 |
nwind
|
ローカルパス |
c:\inetpub\wwwroot\nwind (環境に合わせて変更してください)
|
「セキュリティ」タブ
認証方法 |
「常に以下のユーザー ID とパスワードを使用」
(ユーザー ID とパスワードは環境に合わせて設定してください)
|
「データソース」タブ
SQL Server |
サーバー名 (今回の例では「WESTLIFE」とします)
|
データベース |
Northwind
(SQL Server アカウントへの基本認証の場合、ここでデータベースのリスト表示ができないので、直接入力します)
|
「設定」タブ
URL クエリを許可 |
チェック
|
テンプレートクエリを
許可 |
チェック
|
XPath を許可 |
チェック
|
POST を許可 |
チェック (サイズはデフォルトの 100KB のまま)
|
「仮想名」タブ
定義済み仮想名 |
次の 3つの定義済み仮想名を新規に作成します。
仮想名
|
詳細
|
dbobject
|
型 :dbobject |
schema
|
型 : schema
パス : c:\inetpub\wwwroot\nwind\schema |
template
|
型 : template
パス : c:\inetpub\wwwroot\nwind\template |
※ なお、それぞれの物理ディレクトリは設定の前に作成しておいてください。
|
「詳細設定」タブ
ISAPI の場所
追加ユーザー設定
キャッシュオプション |
すべてデフォルトのまま
|
この設定が終わると、SQL Server アクセス用の nwind という仮想ディレクトリが Web サーバー上に作成されます。
今後の解説の中では、上記の設定に沿って説明します。
URL 中のサーバー名などは、適宜実際の環境に合わせて変更してください。 |
ちなみに、ここで作成した仮想ディレクトリはインターネット サービス マネージャの中でも仮想ディレクトリとして表示されます。

また、この仮想ディレクトリのプロパティを見ると、このようになっています。

「アプリケーションの設定」にある「アプリケーション名」を見ると、「Default Application for SQL Server」という値が設定されています。これで、この仮想ディレクトリが
SQL Server 2000 に接続できるよう構成されていることが確認できました。
Web ブラウザを使ってアクセス
では、この段階で、Web ブラウザを使って先ほど作成した仮想ディレクトリに接続してみてください。
たとえば http://westlife/nwind にアクセスすると、次のようになります。

このように、HTTP 400 エラーが返されます(これは、nwind 仮想ディレクトリ内に HTML ファイルなどを入れて、http://westlife/nwind/index.html
のようにそのファイル名を URL で指定したとしても同じです)。つまりこの nwind ディレクトリは、格納されているファイルをそのまま返すような通常の
Web サーバーの仮想ディレクトリとは違う扱いになっていることが分かります。
では、SQL Server に直接 SQL を送って、結果を XML として受け取ってみましょう。
Web ブラウザからそのまま SQL を送るためには、URL クエリを使用します。Web ブラウザを使って、次の URL にアクセスしてみてください。
http://westlife/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root |
スタイル付けされていない XML ドキュメントがそのまま表示されましたか? この XML ドキュメントは、SQL Server 2000
の Northwind データベースにある Customers テーブルの内容を XML として出力したものです。

データベース内のそれぞれの行が Customers 要素としてタグ付けされ、各列が属性と属性値として出力されていることがわかります。
ここまで確認できたら、今回は終了です。次回は URL クエリの使用方法や構文について、詳しく見てみましょう。
関連キーワード: SQL Server 2000
関連キーワード: データベース

|