過去の桐井戸端BBS (桐ver.9)
30433 3つのアプリで使う共有情報の切り替えはどうすればいいのでしょうか つねにうつ 2005/07/08-14:59
 お世話になります。桐Ver9です。
 LANを使って運用しています。同じVer9で動作する共有情報のあるアプリを3つ組んでいます。
当然共有で動いていますが共有情報の保存場所で困っています。

いくつアプリがあっても、共有情報は1つのサーバーのディレクトリーにすれば良いのですが、その場合欠点として、
1.あるアプリのメンテ時には他のアプリも止めざるを得ない。
2.あるアプリがエラーを起こし動かないときは他のアプリも同時に動かなくなる。
 等、1と2は同じような意味ですが問題があります。

 従って現在はそれぞれのアプリのディレクトリーに、そのアプリ専用の共有情報を保管しています。
その時の問題点としては異なるアプリを同一PCで使用しようとする時にはその都度環境設定で
共有情報場所を変えなければなりません。大変面倒です。実用性も損なわれます。

 何か良い解決法は無いでしょうか。どこかで、「桐の起動時に設定できる」という話も聞きましたがよく分かりません。
桐のマクロコマンドを見てもそのようなコマンドは無いように思います。

どなたかご存じの方がおられましたらご教示お願いいたします。


30435 Re:共有情報の切り替え 宮城 2005/07/08-19:36
記事番号30433へのコメント
つねにうつさん、こんにちは。

>その場合欠点として、
>1.あるアプリのメンテ時には他のアプリも止めざるを得ない。
>2.あるアプリがエラーを起こし動かないときは他のアプリも同時に動かなく
> なる。

ちょっと意味がよくわからないのですが。V8ですが、共有情報
(正確には「共有管理情報」です)のフォルダって、TBLとかWFMとかKEVなんかを置いたりしませんよね。
なんでメンテ時に他のアプリが止まったりするんでしょ?

ネットワーク異常みたいなことでもない限り、あるアプリのエラーが他のアプリに悪さするなんて考えにくいし、
そうなら桐に限らず全滅だろうし。

となると、共有管理情報のフォルダに「TBLとかWFMとかKEVなんか」
を置いてるのですか。それでもそれでトラブるのかなというのは
ちょっとわかりませんが、少なくとも、そんなことする必要はまったくありません。

私の環境では、共有管理情報のフォルダに入ってるのは次の4つだけです。

KIRI8.FSC
KIRI8.SEM
KIRI8.TXN
KIRI8.USR

ある表が異常のとき、そこから表引きしてる表も異常になるなら
わかるのですが。そういう意味ですか?
30436 Re:共有情報の切り替え うにん 2005/07/08-20:00
記事番号30435へのコメント

>私の環境では、共有管理情報のフォルダに入ってるのは次の4つ
>だけです。

指定方法は桐のヘルプの「起動時パラメータ」のとこに書いてあります。

そこには「共有ファイルフォルダ名」となってますので、管理情報と同じとこに
データファイルを置いても別に問題ないんではないかなあ。

30462 Re:共有情報の切り替え つねにうつ 2005/07/10-12:07
記事番号30435へのコメント
宮城さん ありがとうございます。
私の共有管理情報についての理解が間違っていると思いますが、現在はこのように思っています。
1.共有管理情報は、複数のPCでのTBL、KEV等関連ファイルの使用状況を一括して管 理している。
 (現在、誰がどのファイルを使用しており、そのファイルの現状はどうなっている等を管理している)
2.従って共有管理情報が一つだと、他のアプリのメンテやエラー発生時に正常に動作しているアプリまで止まってしまう。

・このように理解していましたので、現在では共有管理情報はアプリごとにファイルディレクトリーと全く同じ場所においています。
 共有管理情報はアプリの数だけあることになります。

・宮城さんの場合共有管理情報を一つにしておられるとのことですが、複数のアプリを複数のPCから
 同時に起動している場合でも一つの共有管理情報で管理されているのですか。
 そのばあい、上記の1.2.の疑問がわいてきます。でも大丈夫なんですね。その点をご教示お願いいたします。
 こんな理解をしているものですから、このような質問をさせていただきました。

>ちょっと意味がよくわからないのですが。V8ですが、共有情報
>(正確には「共有管理情報」です)のフォルダって、TBLとかWFM
>とかKEVなんかを置いたりしませんよね。なんでメンテ時に他の
>アプリが止まったりするんでしょ?
ANS)アプリごとに同じ場所においています。
>
>ある表が異常のとき、そこから表引きしてる表も異常になるなら
>わかるのですが。そういう意味ですか?
ANS)その意味は理解できますが違います。


30463 Re:共有情報の切り替え つねにうつ 2005/07/10-12:20
記事番号30436へのコメント
>そこには「共有ファイルフォルダ名」となってますので、管理情報と同じとこに
>データファイルを置いても別に問題ないんではないかなあ。
>
うにんさんありがとうございます。Help fileに書いてありました。コマンドのhelpばかり見ていました。
宮城さんにお返事した疑問が解決すれば、使ってみようと思いますがパラメータは
どこにどのようなツールで作るのでしょうか。MS-DOSの場合ではAUTOEXEC.BATに書けば良かったのですが、
昔人間にはよく分かりません。また、アプリの起動はすべてcmdでなく、WFMでMainMENUを作ってそれで起動していますが、
パラメータのOPEN_FILEはWFMを指定すればよいのでしょうか。
30465 Re:共有情報の切り替え 吉川 2005/07/11-00:20
記事番号30462へのコメント
横から失礼します。
私もファイルの共有では時々トラブルに見舞われて困っています。
一つだけ確認させて下さい。
つねにうつさんがおっしゃる「他のアプリ」とは
具体的に何のことですか?


>2.従って共有管理情報が一つだと、他のアプリのメンテやエラー発生時に正常に動
> 作しているアプリまで止まってしまう。
>

30467 Re:共有情報の切り替え 宮城 2005/07/11-09:01
記事番号30462へのコメント
つねにうつさん、この場合は試して確認されるのが一番と思います。

>・宮城さんの場合共有管理情報を一つにしておられるとのことですが、複数のアプ
> リを複数のPCから同時に起動している場合でも一つの共有管理情報で管理されて
> いるのですか。

一つの共有管理情報で大丈夫です。というより、「共有管理情報を切り替える」
というのがどういうときに必要になるのかクビをひねっています。

>1.共有管理情報は、複数のPCでのTBL、KEV等関連ファイルの使用状況を一括して管
> 理している。
> (現在、誰がどのファイルを使用しており、そのファイルの現状はどうなってい
>  る等を管理している)
>2.従って共有管理情報が一つだと、他のアプリのメンテやエラー発生時に正常に動
> 作しているアプリまで止まってしまう。

共有管理情報が一つの環境で、あるアプリをメンテ(再定義で何か開いてるという意味ですか?)中、
他の桐アプリが動かないかどうか、やってみればすぐわかります。

> (現在、誰がどのファイルを使用しており、そのファイルの現状はどうなってい
>  る等を管理している)

誰が桐を使っていて、どのファイルがどのモードで開かれているかを、「管理」している、というか、
「他のユーザーにわかるように記録している」というところではないかと想像しております。

30468 Re:共有情報の切り替え つねにうつ 2005/07/11-09:25
記事番号30465へのコメント
吉川さん ありがとうございます。
他のアプリとは、桐VER9で動いているプログラムです。正しい表現が分からなくてすみません。
具体的には、「物品管理」と「会員会費管理」等すべて桐で作っています。


>一つだけ確認させて下さい。
>つねにうつさんがおっしゃる「他のアプリ」とは
>具体的に何のことですか?
>


30469 Re:共有情報の切り替え つねにうつ 2005/07/11-09:46
記事番号30467へのコメント
宮城さん

>つねにうつさん、この場合は試して確認されるのが一番と思います。
>
>一つの共有管理情報で大丈夫です。というより、「共有管理情報を切り替える」
>というのがどういうときに必要になるのかクビをひねっています。

・切り替えるのは、共有管理情報をアプリ毎に別に設定設定しているから、同じPCでAのアプリを使うときは
環境設定のフォルダーの高度な設定で「共有管理情報ファイルの場所(k)」でAのフォルダーに切り替える必要が出てきます。
Bのアプリ使用時も同様に切り替えます。

>誰が桐を使っていて、どのファイルがどのモードで開かれているかを、「管理」
>している、というか、「他のユーザーにわかるように記録している」というとこ
>ろではないかと想像しております。

宮城さん。ありがとうございます。
宮城さんも書いておられるように、”どのファイルがどのモードで開かれているかを、
「管理」・・・”と私も思っているのですが、その場合変な表現ですが、例えばA、B
二つのアプリを同時にいくつかの場所で使っていて、ある場所でAというアプリにエラーが出た場合、
共有情報をA、Bで一つにしている場合、擬人的表現をすれば、桐が「今、AがエラーになっているからBは動けません」なんて
言わないかと思ってしまいます。

ですから、AのアプリにはAのディレクトリーにAの共有管理情報を、Bのアプリには
Bのディレクトリーに共有管理情報を入れています。そうすれば共有管理情報が
それぞれ別ですので、AのエラーはBには全く関係ないのでBには及ばないと思っています。

確かに試してみれば良いことですが、一日中止められない状況ですし、怖いこともあります。
皆さんがABCDEといくつアプリがあって同時に動かしても、共有管理情報は
一つで大丈夫と言われると(経験されていると)安心なんですが。
誠にしつこく言ってすみません。


30471 Re:共有情報の切り替え うにん 2005/07/11-12:58
記事番号30463へのコメント

>>そこには「共有ファイルフォルダ名」となってますので、管理情報と同じとこに
>>データファイルを置いても別に問題ないんではないかなあ。

DOS桐で似たようなことをしているらしい「kiricntl.sys」というファイルを
開いたままこけてしまうクライアントがいて、そうなると他のクライアントから
一切ファイルのオープン・クローズができなくなることは経験しています。
(フリーズする。開きっぱなしになっているクライアントを切断すると回復する)
桐9でも共有ファイルの同時書き込みオープンはできないでしょうから、
アプリごとに分けるのは有意義かもしれません。
ファイル単位だったDOS桐より管理情報の使用頻度は上がってるでしょうし。

>WFMでMainMENUを作ってそれで起動していますが、パラメータの
>OPEN_FILEはWFMを指定すればよいのでしょうか。

そうです。
kiri9.exeのショートカットを作って、パラメータをつければいいと思います。

まとめて設定できるかと、試しにフォルダオプションでWFMのopenに-S "%~p1"
とかくっつけてみたけど展開されなかった。バッチファイルの中でしか使えないのね。

30474 Re:共有情報の切り替え 吉川 2005/07/11-15:21
記事番号30468へのコメント
私は10人位のクライアントがLAN上で桐を利用していますが、
「共有管理情報の場所」は ”R:\共有¥”ですべて共通です。

共有管理情報  とは、
「今、物品管理テーブルを吉川と佐藤が共有更新モードで開いているよ」ということ
を、他のクライアントに”R:\共有¥”にある
kiri*.FSC
kiri*.SEM
kiri*.TXN
kiri*.USR
のファイルを通して通知する機能だと思います。
ファイルパレットから「物品管理」を右クリックして「ファイルの情報」タブの「詳細」を開けば、使用者:yoshikawa,sato
使用者数:2
とあってこのことが確認できます。
ところが、クライアント毎に、あるいは一括処理を実行する度に「共有管理情報の場所」を変更すると
「ファイルの使用状況」の情報を共有することができません。
一括処理Aがエラーを起こして停止し、「物品管理テーブル」を他のユーザーが開けなくなったら、その旨通知してあげるべきです。
その通知を受けて、一括処理Bは「物品管理テーブルが開けない」と認識できて(表コマンドの戻り値が−2だっと思う)
何か対策を講ずることが出来るのだと思います。 

30475 Re:共有情報の切り替え つねにうつ 2005/07/11-20:03
記事番号30474へのコメント
吉川さん。ご回答ありがとうございます。
私も、クライアント毎にまたは一括処理を実行する都度共有管理情報を切り替えている訳ではありません。
一つのアプリ(例えば物品管理を目的としたtbl,frm,kev等の集まり)
には一つの共有管理情報を全てのクライアントに使っています。
そうしないと一つのアプリで違う共有管理情報を使うと当然共有管理情報エラーになります。
私が知りたかったのは、共有管理情報が一つでも、色々なアプリ(「物品管理システム」と
「顧客管理システム」等目的が違うプログラム)を多くのクライアントが同時に使った
場合、例えば「物品管理システム」にエラーが出ても「顧客管理システム」は止めることなく使えるかと言う事が知りたかったのです。
 


30476 Re:共有情報の切り替え 吉川 2005/07/11-22:06
記事番号30475へのコメント

>私が知りたかったのは、共有管理情報が一つでも、色々なアプリ(「物品管理システム」
>と「顧客管理システム」等目的が違うプログラム)を多くのクライアントが同時に使った
>場合、例えば「物品管理システム」にエラーが出ても「顧客管理システム」は止めること
>なく使えるかと言う事が知りたかったのです。

「顧客管理システム」が止まるかどうかは、必要なテーブルが開けるかどうかにかかっていると思います。
例えば、「物品管理システム」が物品管理テーブルを占有モードで開いたまま止まった時、
「顧客管理システム」が同じ物品管理テーブルを開こうとしたらこれは開けないから
エラーでしょう。(開けない時の回避ロジックを組んでいなければ)
そして、共有管理情報をシステム毎に使い分けておけばこうしたモードでもエラーは起きない、
ということではないと思います。

30483 Re:共有情報の切り替え うにん 2005/07/12-15:58
記事番号30476へのコメント

>>私が知りたかったのは、共有管理情報が一つでも、色々なアプリ(「物品管理システム」
>>と「顧客管理システム」等目的が違うプログラム)を多くのクライアントが同時に使った
>>場合、例えば「物品管理システム」にエラーが出ても「顧客管理システム」は止めること
>>なく使えるかと言う事が知りたかったのです。

>例えば、「物品管理システム」が物品管理テーブルを占有モードで開いたまま止まった
>時、「顧客管理システム」が同じ物品管理テーブルを開こうとしたらこれは開けないから
>エラーでしょう。(開けない時の回避ロジックを組んでいなければ)

同じファイルを使っていたら同じ共有管理情報にしないといけませんから
「別のアプリ」とはいえないでしょう。

戻る