ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

オープンモード F=高速 について

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2008-7-4 11:14
mhiga  新米   投稿数: 15
こんにちは。

DBのオープンモード F=高速 についてオンラインマニュアルで以下のように記述されています。

【このモードを指定すると、他のユーザとファイルの共有ができなくなります。】

確認のために、DBをひとつスクリーンモードで開くオンラインプログラムを作り、オープンモードをFにしてみましたが、アクセスと共有をWWにしている限り、特に問題なく複数クライアントで開くことができます。
入力時に、通常のレコードロックはかかりますが、共有が出来ないというのはどういう意味でしょうか?

また、
【整合性を優先させるには、ISAMトランザクション特性を「Yes」に設定します。処理速度を優先させる場合、ISAMトランザクション特性を「No」に設定します。】
という記述もよくわかりません。
F=高速にすると、整合性がなくなるということでしょうか?


現在、販売管理システムにおいて、伝票登録時に売掛金、在庫等も集計更新しているものの、売掛金、在庫にときおり欠損(更新処理がなされてないもよう)が発生する現象を調査しています。
端末が増えるにつれ、現象の発生頻度が増えているようなので、先日からロック方式など疑わしい部分を確認している次第です。

ちなみに、問題のあるプログラムはすべてオープンモードがFになっています。


ご存知の方、ご教示お願いします。
なお、DBはPervasive9のサーバエンジンです。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-7-4 11:22
nkmt  長老   投稿数: 1668
V9Plus迄では、マスタやデータなどは
WWFや
RWFでオープンさせておりました。癖みたいな物でして。

WWNになっている分については、オープンモードの設定を忘れている物として、自分の目安にもしておりました。

↓こんな現象はおきませんよね。
【このモードを指定すると、他のユーザとファイルの共有ができなくなります。】

ところで、メタフレームアプリケーション等は、F=高速モードは
NGだというのを旧フォーラムで目にした事があります。

V10になって、高速モードの設定が無くなりましたね。

掘り下げて意味をちゃんと知っておかないといけないんでしょうけど。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-8 10:37
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは

私もV9での違いが良く理解できていません。
Pervasiveでは アクセラレイティド モードでの
openモードがありますが
それは openの時間が短縮されますが トランザクションが
使用できません
また エクスクルーシブ モードでのopenモードがありますが
それは 共有ができません
他にapiでは色々openモードがあるのですが
その編がうまく実装されていないのではないでしょうか
だからマニュアルも前のままupdateされていないかと
想像します> 間違ってたら指摘して下さい 開発の方

またRDBなんかを使ってたら 意味ないし
ですので Pervasiveの場合Nの標準でよろしいかと
投票数:0 平均点:0.00
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-8 10:51
mhiga  新米   投稿数: 15
nkmtさん、pu_mahaloさん ご回答ありがとうございます。

オープンモードはNにしておいた方が無難という気がしてきました。
ただ、現在起こっている問題がこれに起因するかどうかは不明なので、既存プログラムをいちいち直していくのも面倒です。
(テキスト出力して全置換かける手はありますが)

-------
みなさんのところでは、在庫や売掛金などをリアルタイムに集計する際に、データが欠落するような現象は出てないでしょうか?
今回の得意先以外でも、まったく別のアプリケーションですが、たまに伝票と集計ファイルの数字が異なることがあります。
弊社環境ではせいぜい端末2台でちょぼちょぼ打ち込んでのテストのせいか、このような現象は発生しません。
端末数が多いユーザほど発生頻度が多いので、レコードロックでアボートされているのではないかと疑ったりするのですが、テストした限りではレコードロックでアボートされるケースはありませんでした。
もっとも、テスト環境ではバッチプログラム同士を同時にぶつけることができず、片方はオンラインタスクにしているのですが。
投票数:0 平均点:0.00
depth:
3
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-7-8 11:52
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは

その為のトランザクションではないでしょうか
トランザクション(当然物理)を利用しましょう
Pervasiveでも 一応利用できますので
投票数:0 平均点:0.00
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008-7-8 12:21
mhiga  新米   投稿数: 15
pu_mahaloさん、ご回答ありがとうございます。

確かにトランザクションが必要だと以前から考えています。
トランザクションのなかった時代に作ったものをそのままバージョンアップしてきたので。
現状、トランザクション設定すると別の問題が発生するので、まずは、なぜこれほどデータの欠損が発生するのかを解明しておきたいと考えています。

それともデータの不整合などは結構発生するもので、どこでもトランザクションで整合性保っているのでしょうか?
その場合、オンラインだと頻繁にエラーメッセージを表示しなければならなくなるような気がするのですが。

なお、トランザクション設定時の問題については、別途投稿しようと考えています。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約