Date: Mon, 13 Aug 2007 19:20:27 +0900
From: GEMCO瀬谷 <who@example.co.jp>
いつもお世話になっております。瀬谷です。
堀川様、ご回答ありがとうございます。
勉強になりました
ありがとうございました
社内運用なので、
tempdbにユーザを登録し、そのユーザにdb_datareaderを与えてという方法になるか、
作業用テーブルによるユーザ単位で識別する方法にするかを検討してみます
レコード数は1年間でほぼ変動無しで各レコードの各項目を複数人数で入力すると
いう事で、
入力フォームに入力項目別にチェックボックスを作成し、チェックした項目のみを
サブフォームに表示し、登録実行でメインのテーブルへinsert又はupdateという処理を
する為に、一時テーブルへ入力する方法をとっていました
> Transact-SQL言語レベルでは、ローカル一時テーブルの作成や
> レコード挿入や更新などの操作に関しては、特別な制限は無く
> 誰でも可能です(すべてのログインユーザが許可される)。
>
>
> ところが、Access(ADP)の連結フォームのレコードセットで、
> フォームからのデータ操作を行う場合、
>
> SQL Server 7.0 + SP2 以降
> (SQL Server 2000 を含む)
>
> から、瀬谷さんがお話されているように、セキュリティ権限の
> 追加をしないと動きません(詳細は不明)。
>
>
> SQL Server 7.0
> SQL Server 7.0 + SP1
>
> の環境では、一時テーブルのレコードソースを連結フォームに
> 割り当てることができます。
>
> もう手に入りませんが書籍下巻のCDROMの中には、初代MSDE
> (SQL Server7.0互換)の再配布バージョンが収録されておりますので、
> それをインストールして頂ければ、
>
> サービスパック無しのMSDEでは、問題無くローカル一時テーブルを
> レコードソースにした連結フォームが作れることがわかります。
> (Access2000の製品の中にも、MSDEが入っています)
>
>
> また、その環境に、
>
> SP1のダウンロード
> http://www.microsoft.com/japan/sql/prodinfo/previousversions/downloads/70/sq
> l70sp1.mspx
>
> を当てても、動きます。
>
>
> ところが、SP2を当てると
> http://www.microsoft.com/japan/sql/prodinfo/previousversions/downloads/70/sq
> l70sp2.mspx
>
> 動かなくなります。
>
> ですから、SP1からSP2への変更で、セキュリティ上の何かの
> 仕様変更があったように思えます
>
>
> SP2以降の環境で動かすためには、tempdbのguestユーザに、
> db_datareader
> を割り当てると、動きます(writerの権限は不要のようです)。
>
>
> あるいは、tempdbに明確なユーザを登録し、そのユーザに
> db_datareaderを与えて、そのユーザで連結フォーム操作を
> 行うこともできます。
>
> もちろん、tempdbのデータベースオーナー権限を持っている
> saログイン等でフォーム操作するのであれば、問題ありません。
>
> ただ一時的にせよ、tempdbのテーブルの読み取り権限を
> 与えることになるので、他ユーザが作成した通常の
> テーブルが読み取れることになります。
>
> セキュリティ的に運用上問題無ければ(信頼のおける仲間内環境)なら
> db_datareader権限を与えてもよいでしょう。
>
> 但しtempdbは、サーバーの起動時に初期化されますので、その都度
> 権限設定が必要になるので注意して下さい。
> (modelデータベースがコピーされるので、modelに権限設定する案も
> ありますが、一般データベース作成時に権限がコピーされるので
> 注意して下さい)。
>
> 一般的には、ローカル一時テーブルを使うのではなく、自分で
> ローカル一時テーブルのようなユーザ単位でレコードが
> 識別できるような作業用テーブルを作ることをおすすめします。
>
> 例えば、レコードの列の中に、uniqueidentifier型の列(GUID値)を
> 用意して、ユーザにNEWID関数によってGUID値を割り当てて、その
> GUID値を使ってレコードをユーザ単位で識別すれば、複数人の
> レコードが混ざっても区別できます。
>
> このような工夫をすればよいと思います。
>
>
> ------------------------------------
> Epata-IT/日本技術ソフト開発
> 堀川 明 (Akira Horikawa)
> 08月11日(土曜日) 20時32分記
> mailto:who@example.ne.jp
> http://www.horikawa.ne.jp/msde/
>
>
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|