ブログ

2023/08/30
【プリザンター】 第210回)ロック機能について

プリザンターで使えるロック機能

こんにちは、CCS田中です。

今回のブログで210回目になりました。
余談ですが、私の乗っている車が「AWS210」というエンジン形式の車で、通常210系クラウンと呼ばれるオヤジ車です。なので210回目は何か縁を感じます。

それはさておき、本題です。
データベースに詳しい方であればロック機能を知っているかと思います。データベースに詳しくない方のためにロックについて先にお話をします。
データベースは複数のユーザから書き込みがあります。ロック機能がない場合は、Aさんが先にアクセスして次にBさんがアクセスしたときに、AさんもBさんも同じデータを更新できてしまい後に更新した人が有効になってしまいます。これだと困りますよね。そのためデータベースではロック機能を付けて、誰かがアクセスしたときにはロックを行い、他の人が更新できないようにしたりする機能です。
データベースでは、内部的に処理をさせたりしていますが、プリザンターでは明示的にロックをかけることができます。

実際の操作については、次で説明します。

テーブルのロックとレコードのロックの方法

まず、プリザンターにはテーブルのロックと、レコードのロックの2種類があります。
テーブルのロックから先に説明します。
テーブルのロックは、管理者権限またはサイトの管理権限を持つユーザのみ設定が可能です。

ロックされたテーブルは閲覧は可能ですが、インポートやレコードの更新操作などが行えないようになります。
テーブルのロックを行う場合は、「管理」→「テーブルの管理」→「エディタ」タブを開き、「テーブルのロックを許可」にチェックを入れます。



テーブルがロックできる状態になったら、「管理」メニューに「テーブルをロック」が表示されるようになります。これをクリックすることでテーブルがロックされます。
テーブルがロックされると、ロックしたユーザを含め特権ユーザでも新規作成や更新が行えなくなります。



テーブルがロックされると画面上部に赤いバーで「このテーブルは ”ロックしたユーザ名” が YYYY/MM/DD HH:MM:SS にロックしました。」と表示されます。
テーブルがロックされた場合は、ロックしたユーザまたは特権ユーザだけがロックを解除できます。ロックを解除する場合は、「管理」メニューに表示される「テーブルのロックを解除」をクリックします。



ちなみに特権ユーザ以外がロックした後に、特権ユーザがロックを解除する場合は、「管理」メニューに「テーブルのロックを強制解除」をクリックします。



次にレコードのロックです。
レコードのロックは、レコードのロック機能が設定されたテーブルに書き込み権限があれば設定可能になります。

設定方法は以下の通りです。
1.「管理」メニューから「テーブルの管理」を選択
2.「エディタ」タブを選択し、選択肢一覧から「ロック」を選択肢、有効化
3.「更新」ボタンをクリック



上記で、設定したテーブルに対してレコードのロック機能が追加されます。
ロックを設定したテーブルのレコードを開くと、「ロック」のチェックボックスが追加されていることが分かります。




この「ロック」にチェックを入れてレコードを更新すると、レコードがロックされます。
レコードがロックされると、ロックした本人も含めてレコードの削除や更新が行えなくなります。
レコードのロックの解除は、ロックしたユーザ自身か特権ユーザが「ロック」のチェックを外して、「レコードのロックを解除してもよろしいですか?」のメッセージで「OK」をクリックするだけです。「更新」ボタンをクリックする必要はありません。

自分がロックをしたレコードも操作できなくなってしまうため、使い勝手的には微妙ですね。

まとめ

いかがでしたか?

あまりロック機能について質問は受けないのですが、必要に応じて使用してみるとデータの不用意な更新等がなくなり便利かと思います。

弊社ではスタイル・スクリプトサンプル集、プリザンター逆引き辞典だけでなく、運用ノウハウ集、Dockerを使った構築の販売もございます。
また、PDF帳票出力支援パックの販売も開始しています。
導入の支援や、スクリプト開発などの支援も行っておりますので、まずは気軽にご相談ください。
※ご相談の内容によっては有料となる場合がございます。予めご了承ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

PAGE TOP