.NET TIPS

[ASP.NET]ASP.NETアプリからパスワード付きAccessデータベースにアクセスするには?[2.0、3.0、3.5、C#、VB]

山田 祥寛
2008/10/02

 「TIPS:[ASP.NET]GridViewコントロールでAccessデータベースの内容を表示するには?」で紹介したように、ASP.NETではAccessデータベースにアクセスするための専用のデータソース・コントロールを提供している。AccessDataSourceコントロールでは、複雑な接続文字列を意識する必要がない分、SqlDataSourceコントロールを利用するのに比べると、設定の手続きをシンプルに抑えられるのが特徴だ。

 もっとも、それゆえに注意しなければならないポイントもある。というのも、AccessDataSourceコントロールでは接続文字列を指定できないがゆえに、パスワード設定された.mdbファイルに対してはAccessDataSourceコントロール経由ではアクセスできないのだ。パスワード付きの.mdbファイルにアクセスするには、SqlDataSourceコントロールを利用する必要がある。

 本稿では、その具体的な方法について紹介していくことにしよう。なお、本稿サンプルを動作するための準備(Accessデータベースを利用するための準備)については、前述のTIPSの手順1、2も併せて参考にしてほしい。本稿では、パスワード付きの.mdbファイルとして「Password.mdb」があらかじめ用意されているものとして、以降の手順を紹介していく。

1. 新規のWebフォームを作成する

 新規のWebフォーム(Password.aspx)を作成したら、フォーム・デザイナから以下の画面の要領でGridViewコントロールを配置する。

Webフォーム(Password.aspx)のフォーム・レイアウト
以下のコントロールを配置。
GridViewコントロール(IDは「grid」。オートフォーマットに「オセアニカ」)。

 GridViewコントロールの右肩に[GridViewタスク]メニューが表示されるので、ここから[データソースの選択]−[<新しいデータソース>]を選択する。

2. 接続先のデータベースを設定する

 以下の画面のようなデータソース構成ウィザードが表示されるので、ここからはウィザードに沿ってデータソースへのアクセスに必要な情報を設定する。

データソース構成ウィザード

項目 設定値
データの種類 データべース
データソースID sds
データ接続の選択 PasswordAccess(Web.configに登録した接続名)
Selectステートメントの構成
テーブル名 book
列名 *
データソース構成ウィザードの設定

 データソース構成ウィザードの詳しい手順については、「TIPS:[ASP.NET]GridViewコントロールでデータソースの内容を表示するには?」が詳しいので、そちらを参照いただくとして、ここではパスワード設定にかかわる部分について注目してみよう。

[データソースの選択]ダイアログ

 パスワード設定された.mdbファイルにアクセスするには、データソース構成ウィザードの[データソースの選択]ダイアログから[新しい接続]ボタンをクリックする。

[接続の追加]ダイアログ

 上の画面のような[接続の追加]ダイアログが表示されるので、[変更]ボタンをクリックして、[データソースの変更]ダイアログから「Microsoft Access データベース ファイル (OLE DB)」を変更してほしい。

[データソースの変更]ダイアログ

[接続の追加]ダイアログ(2)

 [接続の追加]ダイアログに戻ったら、上の画面の要領で接続先のデータベース・ファイル名、パスワードを指定する(サンプル・データベースをそのまま使用している場合、パスワードは「12345」)。また、ダイアログ左下の[接続の確認]ボタンをクリックして、正しく.mdbファイルに接続できることを確認しておこう。

 ダイアログを閉じると、[データソースの選択]ダイアログに戻り、新しく定義したデータソースが選択された状態になっているはずだ。[次へ]ボタンで[アプリケーション構成ファイルに接続文字列を保存]ダイアログへ移動し、いま定義した接続定義をアプリケーション構成ファイルに保存しておこう。

[データ接続の選択]ダイアログ

[データ接続の選択]ダイアログ

 以上で、パスワード付きAccessデータベースにアクセスするための準備は完了だ。出来上がったPassword.aspxを実行し、以下のようにデータベース・ファイルの内容にアクセスできていれば成功である。

サンプル・アプリケーションの実行結果
パスワード設定されたAccessデータベースの内容が正しく参照できている。

 なお、最後に手順2で行ったアプリケーション構成ファイルへの接続定義の登録について補足しておく。上の手順でこれらの定義を行った場合、Visual Studioはデフォルトで.mdbファイルへのパスを絶対パスでWeb.configに登録する。しかし、これは可搬性の観点からも(当然)好ましいことではない。

<add name="PasswordAccess" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\TipsGrid\App_Data\Password.mdb;Persist Security Info=True;Jet OLEDB:Database Password=12345"
  providerName="System.Data.OleDb" />
アプリケーション

<add name="PasswordAccess" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Password.mdb;Persist Security Info=True;Jet OLEDB:Database Password=12345"
  providerName="System.Data.OleDb" />
修正後のアプリケーション構成ファイル(Web.config)

 上の例のように、Web.configの内容を書き換えておくことをお勧めしたい。「|DataDirectory|」はASP.NETの予約フォルダ――アプリケーション・ルート配下の「/App_Data」フォルダを表す変数である。End of Article

利用可能バージョン:.NET Framework 2.0
利用可能バージョン:.NET Framework 3.0
利用可能バージョン:.NET Framework 3.5
カテゴリ:Webフォーム 処理対象:GridViewコントロール
使用ライブラリ:GridViewコントロール
関連TIPS:[ASP.NET]GridViewコントロールでデータソースの内容を表示するには?
関連TIPS:[ASP.NET]GridViewコントロールでAccessデータベースの内容を表示するには?

この記事と関連性の高い別の.NET TIPS
[ASP.NET]GridViewコントロールでデータソースの内容を表示するには?
[ASP.NET]GridViewコントロールでAccessデータベースの内容を表示するには?
[ASP.NET]GridViewコントロールの表示データを特定条件で絞り込むには?
[ASP.NET]GridViewコントロールにオブジェクトをバインドするには?
[ASP.NET]GridView+ObjectDataSourceコントロールでファイル一覧を作成するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間