トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
5. Accessプロジェクトからストアドプロシージャの実行

Accessプロジェクトからストアドプロシージャを実行することができます。ただしその方法は、OSQLコマンドやクエリアナライザの方法とは多少異なります。

Accessプロジェクトでは、データベースサーバーに直接SQL文を投入し、それを実行させるという機能がありません。そこでユーザ定義のストアドプロシージャをデータベースの中に作成し、そのプロシージャの中でパスワードを変更するプログラムを作ります。

Accessプロジェクトから新しいデータベースを作成し、それに対して接続を行なうプロジェクトを作成しましょう。本連載第2回1節3節を復習してください。

なおsaログインのパスワードを変更するため、プロジェクトの接続で使用するログイン名はsaを使います(図14。厳密にはsysadminサーバーロールに所属するログインです)。


図14 Accessプロジェクト(新しいデータ)

saログインを使ってAccessプロジェクトを立ち上げる。
インストール直後のsaログインのパスワードは無設定のため、空欄とする。

クエリの新規作成ボタンを押して、テキストストアドプロシージャの作成を選択してください(図15.なおAccess 2000では画面構成が多少変わります。ここではAccess 2002を使用しております)。


図15 テキストストアドプロシージャの作成

図16のような初期画面が表示されます。この初期画面を入力修正し、図17のようなプログラムを入力してください。


図16 テキストプロシージャの初期作成画面について


図17 saのパスワードを変更するストアドプロシージャの作成

CREATE PROCEDURE SetSAPassword

SetSAPasswordという名前のユーザ定義のストアドプロシージャを作成するという意味です。ストアドプロシージャのプログラムはAS句以降に記述します。

SET NOCOUNT ON
これはおまじないだと思って、入れてください。

EXEC SP_PASSWORD NULL , 'NewPassWord' , 'sa'

saログインのパスワードを変更する命令を書きます。EXEC命令を忘れずに。

RETURN
ストアドプロシージャの終了を表します。呼び出し元に戻ります。

以上を入力したら、ウィンドウを閉じてストアドプロシージャを保存してください。

図18のように、今作成したストアドプロシージャの名前を確認することができます。


図18 新しく作成したストアドプロシージャ

このストアドプロシージャを実行しましょう。ストアドプロシージャの名前を選択して、『開く』ボタンを押してください。


図19 ストアドプロシージャの実行

図19のような確認メッセージが表示されます。これはAccessプロジェクトから実行されるストアドプロシージャは、レコードセットが返されることを期待しており、返されたレコードセットをデータシートで表示しようとするからです。しかしこのストアドプロシージャはパスワードを変更するだけで、レコードセットは返しません。確認メッセージは無視してください。

以上により、saログインのパスワードが変更されました。

Accessプロジェクトを作成したときに入力したログイン情報は、『ログイン名sa、パスワード無し』でした。saログインのパスワードを変えましたので、Accessプロジェクトの接続情報も変更しなければいけません。

[ファイル]メニューの[接続]

を実行します。図20のように、saログインのパスワードは空欄になったままです。図21のようにパスワードを正しく修正して、接続のテストを確認しましょう。


図20 Accessプロジェクトの接続情報


図21 Accessプロジェクトのログインパスワードを変更する

なお『パスワードを保存する』チェックボックスは、チェックしないでください。この保存はパスワードが丸見え状態でセキュリティ的に大変危険です。
プロジェクトファイル(拡張子ADP)の中身をメモ帳などで注意深く観察すると、パスワードがどこに書かれているのか調べることができます。


<< 前へ次へ >>
◆PAGE LINK  |  |  |  |  |  |  |  |  |  

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.