|
ユーザ名は、ログイン名と1対1に対応します。一般的にログイン名とユーザ名は同じ名前にしますが、ログイン名とユーザ名を異なる名前で対応させても構いません。
この対応関係を作ることが、そのデータベースの使用許諾にあたります。
ログイン認証に合格しても、あるデータベースの利用ができない原因は、そのデータベースにユーザ登録が行われていないことが考えられます。
[ログイン名Aさんの登録]
新しいログインの登録は、Access 2002のAccessプロジェクトではできません。Enterprise Managerを操作しましょう。
図1:新規ログインの登録
[セキュリティ]−[ログイン]
で、[新規ログイン]を選択してください。

図1:新規ログインの作成
図2:ログイン名とそのパスワードの定義
名前(ログイン名)は、Aとします。その認証方法はデータベースサーバー自身で行うSQL Server認証としますので、そのパスワードの入力も必要です。
このログイン名Aさんが、Sampleデータベースをよく使うのであれば、既定のデータベースをSampleとしましょう。特に既定のデータベースと呼べるものが無ければ、
便宜上、masterデータベースとします。

図2:ログインの登録
図3:サーバーロールの登録
サーバーロールは(表2)、データベースサーバー全体に対する仕事の権限を表します。
ここでチェックした役割が、このログインAさんに許可されます。特別な理由が無い限りサーバーロールにはチェックしない方がよいでしょう。

図3:サーバーロールの登録(何もチェックはしない)
図4:データベースユーザの登録
ログインAさんが使用できるデータベースをチェックします。このチェックを付けたデータベースに対してデータベースユーザ名を登録することで、ログインAさんがそのデータベースを使用できるようになります。

図4:データベースユーザの登録
またそのデータベース内におけるデータベースロールも登録します。特別な権限を与えなければ、publicロールだけに所属させます
(publicロールのチェックは外すことはできません)。
以上を入力したらOKボタンを押して、ログインを登録してください。
[ログイン名Bさんの登録]
ログインAと同様に、Bを登録します。但し、Sampleデータベースにユーザ登録は行いません(図5)。

図5:ログインBのデータベースユーザ登録は何も行わない
[ログイン名AさんのAccessプロジェクトの作成]
ログインAさんがSampleデータベースに接続を行う場合のAccessプロジェクトを作成してみます。図6のようになります。

図6:ログインAさんがSampleデータベースに接続を行うAccessプロジェクト
「接続のテスト」ボタンを押してください。図7のように、Sampleデータベースに対して正しく接続できることがわかります。
Sampleデータベースには、ログイン名Aに対応するデータベースユーザが登録されているため、このデータベースに対する利用が許可されます。

図7:接続のテスト。正しく接続ができました。
[ログイン名BさんのAccessプロジェクトの作成]
図6と同様に、ログイン名Bさんに対してもSampleデータベースに接続を行うAccessプロジェクトを作成してみましょう。そして「接続のテスト」ボタンを押してください。
ログイン名Bに対応するデータベースユーザは、Sampleデータベースには存在しません。このためデータベースに対する接続はできず、図8のようなエラーメッセージが表示されます。

図8:ログイン名Bは、Sampleデータベースに接続することはできない
この例のように、データベースユーザが登録されていないと、そのデータベースを使用できないということが、お分かりいただけると思います。
|