チュートリアル : Access データベースのデータを表示する Web ページの作成
更新 : 2007 年 11 月
Microsoft Visual Web Developer Web 開発ツールを使用すると、Web ページを作成して、データベース、XML ファイル、ビジネス オブジェクトなど、さまざまなソースのデータを処理できます。このチュートリアルでは、Microsoft Access データベース (.mdb ファイル) のデータを取り扱う方法について説明します。
このチュートリアルでは、次の作業を行う方法について説明します。
.mdb ファイルへのアクセス許可の設定
AccessDataSource コントロールを持つデータベースへの接続
Access データの表示
Access データベースは、Microsoft SQL Server などの他の種類のデータベースに比べると、容量が小さく、スケーラビリティも劣ります。一般的に Access のデータベースは、トラフィック量や利用ユーザー数が少ない Web サイトを作成する場合に適しています。ただし、スループットが大きいか、ユーザー数が多い Web サイトを作成するときには、稼動環境の Web サイトに適した SQL Server などのデータベースの使用を検討する必要があります。
前提条件
このチュートリアルを実行するための要件は次のとおりです。
サンプルの Northwind データベースの Access バージョンを含む Northwind.mdb ファイル。
この代わりに、別の Access の .mdb ファイルを使用し、設定されているテーブルに合わせてこのチュートリアルの手順を変更してもかまいません。
MDAC (Microsoft Data Access Components ) Version 2.7 以降。
Microsoft Windows XP または Windows Server 2003 を使用している場合、MDAC 2.7 は既に存在します。ただし、Microsoft Windows 2000 を使用している場合は、コンピュータに既にインストールされている MDAC のバージョンをアップグレードすることが必要な場合があります。現在の MDAC バージョンをダウンロードするには、Microsoft Universal Data Access にアクセスしてください。
コンピュータにローカルでインストールした Microsoft Internet Information Services (IIS) (オプション)。
これを使用して、稼動環境で Access データベースを使用するための適切なユーザー権限が Web サイトに設定されているかどうかを確認できます。
Web サイトおよびページの作成
既に「チュートリアル : Visual Web Developer での基本的な Web ページの作成」を終了し、Visual Web Developer を使用して Web サイトを作成している場合は、その Web サイトを使用して、次のセクションに進むことができます。それ以外の場合は、次の手順に従って、新しい Web サイトおよびページを作成します。
ファイル システム Web サイトを作成するには
Visual Web Developer を開きます。
[ファイル] メニューの [新しい Web サイト] をクリックします。
[新しい Web サイト] ダイアログ ボックスが表示されます。
[Visual Studio にインストールされたテンプレート] の [ASP.NET Web サイト] をクリックします。
左端の [場所] ボックスの [HTTP] をクリックします。
[参照] をクリックします。
[場所の選択] ページが表示されます。
[ローカル IIS] をクリックし、次に [既定の Web サイト] をクリックします。
[新しい Web アプリケーションの作成] アイコン () をクリックして、新しい Web アプリケーションに「AccessSample」という名前を付けます。
[開く] をクリックします。
[新しい Web サイト] ダイアログ ボックスが表示され、右端の [場所] ボックスに新しい Web アプリケーションの場所が表示されます。
[言語] ボックスで、作業に使用するプログラミング言語をクリックします。
選択したプログラミング言語はその Web サイトの既定言語になります。ただし、プログラミング言語をページごとに設定することもできます。
[OK] をクリックします。
フォルダおよび Default.aspx という名前の新しいページが作成されます。この Web サイトがソリューション エクスプローラに表示されます。
Access データベースのアクセス許可の構成
Access の .mdb ファイルを取り扱うときには、アクセス許可を正しく構成することが重要です。Web アプリケーションが Access データベースを処理するためには、そのアプリケーションがデータにアクセスできるよう、.mdb ファイルに対する読み取りアクセス許可が必要です。さらに、.mdb ファイルが含まれているフォルダへの書き込みアクセス許可も必要です。書き込みアクセス許可が必要となるのは、拡張子 .ldb の追加のファイルを作成するためです。このファイルには、同時にアクセスしようとするユーザーに対するデータベース ロックに関する情報を保持します。この .ldb ファイルは、実行時に作成されます。
既定では、ASP.NET Web アプリケーションは、ASPNET というローカル コンピュータ アカウントのコンテキスト (Windows 2000 と Windows XP の場合)、または NETWORK SERVICE アカウントのコンテキスト (Windows Server 2003 の場合) で実行されます。たとえば、Windows 2000 または Windows XP Professional では、Web サーバー名が ABCServer の場合、そのコンピュータ上の ASP.NET アプリケーションは、ローカル アカウント ABCServer\ASPNET のコンテキストで実行されます。したがって、ASP.NET Web アプリケーションで Access データベースを使用するためには、ローカルの ASPNET ユーザー アカウントが読み取りアクセス許可と書き込みアクセス許可の両方を持つように、その Access データベースを含むフォルダを構成する必要があります。
Visual Web Developer を使用して Web サイトを作成すると、現在のルート フォルダの下に App_Data というフォルダが作成されます。このフォルダは、Access データベースなどのアプリケーション データのストアになります。App_Data フォルダには、ASP.NET によっても使用され、メンバシップとロールのデータベースなど、システムが保持しているデータベースが格納されます。Visual Web Developer が App_Data フォルダを作成する際、ASPNET ユーザー アカウントまたは NETWORK SERVICE ユーザー アカウントに対して、フォルダへの読み取りアクセス許可および書き込みアクセス許可が付与されます。
メモ : |
---|
セキュリティ対策のため、App_data フォルダの中のファイルは、Web サーバーによって提供されません。App_Data フォルダには Web ページを格納しないでください。格納すると、ユーザーがフォルダに対してそのページを要求したときに、エラーが表示されます。 |
ここでは、App_Data フォルダのアクセス許可について学習し、アプリケーションが実行されるときに確実に正しく動作するようにします。
App_Data フォルダにアクセス許可を設定するには
Windows エクスプローラで、Web サイトのルート フォルダに移動します。
新しい Web サイトの既定の位置は c:\inetpub\wwwroot\AccessSample です。
App_Data フォルダがまだ存在しない場合は、作成します。
既定では、Web サイトの作成時にこのフォルダが作成されます。
App_Data フォルダを右クリックし、[プロパティ] をクリックし、[セキュリティ] タブをクリックします。
[グループ名またはユーザー名] で、次のいずれかのユーザー アカウントを検索します。
Windows XP Professional または Windows 2000 の場合は、computer\ASPNET を検索します。
Windows Server 2003 の場合は、NETWORK SERVICE を検索します。
そのアカウントに、App_Data フォルダに対する読み取りアクセス許可と書き込みアクセス許可が付与されていることを確認します。
ASP.NET Web ページでの Access データの使用
これで、Web ページで Access データベースを使用できるようになりました。次に AccessDataSource コントロールを使用します。
ページに AccessDataSource コントロールを追加するには
Visual Web Developer のソリューション エクスプローラで、App_Data フォルダを右クリックし、次に [既存項目の追加] をクリックします。
このチュートリアルで使用する Northwind.mdb ファイル (または、Access の他の .mdb ファイル) を検索します。
App_Data フォルダの .mdb ファイルをクリックし、[追加] をクリックします。
.mdb ファイルが、アプリケーションに追加されます。
Default.aspx ページを開き、デザイン ビューに切り替えます。
ツールボックスの [データ] グループから、AccessDataSource コントロールをページにドラッグします。
- [AccessDataSource タスク] ショートカット メニューが表示されない場合は、AccessDataSource コントロールを右クリックし、[スマート タグの表示] をクリックします。
[AccessDataSource タスク] ショートカット メニューの [データ ソースの構成] をクリックします。
データ ソースの構成 - <DataSourceName> ウィザードが表示されます。
[データベースの選択] ページの [Microsoft Access データ ファイル] ボックスに、「~/App_Data/Northwind.mdb」と入力します。
- または、[参照] をクリックし、[Microsoft Access データベースの選択] ダイアログ ボックスで、App_Data フォルダの Northwind.mdb ファイルに移動することもできます。
[次へ] をクリックします。
[Select ステートメント構成] ページが表示されます。
[テーブルまたは表示から列を指定します] をクリックします。
[コンピュータ] の一覧の [カテゴリ] をクリックします。
[CategoryID]、[CategoryName]、[説明] の各チェック ボックスをオンにします。
[次へ] をクリックします。
[クエリのテスト] ページが開きます。
- オプションで、[クエリのテスト] をクリックして、クエリをテストできます。
[完了] をクリックします。
ツールボックスの [データ] グループから、GridView コントロールをページにドラッグします。
- [GridView タスク] ショートカット メニューが表示されない場合は、GridView コントロールを右クリックし、[スマート タグの表示] をクリックします。
[GridView タスク] メニューの [データ ソースの選択] ボックスで、[AccessDataSource1] をクリックします。
ページのテスト
ここでページを実行できます。
ページをテストするには
Ctrl キーを押しながら F5 キーを押してページを実行します。
GridView コントロールに Categories テーブルのすべてのデータ行が表示されます。
次の手順
このチュートリアルでは、ASP.NET Web ページで Access データを取り扱うために必要な基本的な手順について説明しました。ASP.NET のデータ バインディング モデルを使用すると、他のソースのデータを同じように取り扱うことができます。たとえば、次の操作ができます。
コントロールを使用して、ページに表示されるデータのフィルタ処理を実行します。
詳細については、「チュートリアル : Web ページでの基本的なデータ アクセス」を参照してください。
Access データベースのデータの更新、挿入、および削除を行います。
詳細については、「チュートリアル : DetailsView Web サーバー コントロールによる Web ページのデータの編集と挿入」を参照してください。
ページを作成して、マスター/詳細リレーションシップを持つテーブルの Access データを表示します。
詳細については、「チュートリアル : Visual Studio でのマスター/詳細 Web ページの作成」を参照してください。