過去の桐井戸端BBS (桐ver.8)
4934 ディレクトリ間での表のミラーリング 中西 龍次 2000/03/02-16:27
いつも頼もしく拝見させていただいております。

もう桐とは、V2からのお付き合いなんですが、
ちょっと行き詰まっております。

違うディレクトリに置いた2つのTBL間で、データの完全なミラーリングというのは可能でしょうか?

具体的には、メインディレクトリで使用している住所録TBLには、家族中の個人データが父母子供、
すべて個別に入っています。
もちろんそれ以外のデータ(友人、取引先等)のデータも入っています。
サブディレクトリ:”子供会員”の中に、
結合表:”子供会員”を作成し、子供会員を基本とし、
自己結合で父、母、等の項目を作り 1 家族 1データ(行)にしています。
現在は、結合表が自己ディレクトリかしか利用できないので
メインディレクトリからサブディレクトリ:”子供会員”へ
メインの住所録TBLをコピーして使っています。

販売管理、会員管理、などの個別のプログラム(ファイル)群を
ディレクトリごとに分けて管理したいがためにこうしていますが、
メインの住所録の版管理など先を見ると頭が痛いのです。

プログラムの起動毎に一括処理でファイルコピーと言う手もありますが、
リレーショナルにするには、結合表しか手はないのでしょうか。

お助けください。先輩諸氏。

中西 龍次

4937 Re:ディレクトリ間での表のミラーリング 宮城 2000/03/02-16:52
記事番号4934へのコメント
>もう桐とは、V2からのお付き合いなんですが、

大先輩とお見受けしましたが・・・。

>リレーショナルにするには、結合表しか手はないのでしょうか。

ここの部分がちょっとよくわかりませんが、表の設定は上書きしたくな
いということでしょうか。であれば・・・、読み込みでいかがですか。

c:\aaaa\a.tblと c:\bbbb\a.tblとしますと

表 c:\bbbb\a.tbl
行削除 *,圧縮
読み込み 表,c:\aaaa\a.tbl
終了 表 編集対照表

この CMDを環境設定で「起動時の一括実行指定」に登録します。もちろ
ん c:\aaaa\a.tblを修正した場合にはこの CMDを実行するか桐を再起
動するかが必要になりますけど。

4939 Re:ディレクトリ間での表のミラーリング 中西 龍次 2000/03/02-17:23
記事番号4937へのコメント
早速のコメントありがとうございます
大先輩だなんてとんでもない。

>もちろん c:\aaaa\a.tblを修正した場合にはこの CMDを実行するか桐を再起
>動するかが必要になりますけど。

でしょう?
そこなんですよね、問題は。
ようは、結合表が他のディレクトリの表からも出来れば良いのですけどね。

リアルタイムってとこが問題なのですよ。

メインとサブ、両方のプログラムに、
どちらかに修正があった場合には強制的に先のCMDを実行する。
というCMDをまたはKEVをつけるかな

こまったな

中西 龍次
4943 Re:ディレクトリ間での表のミラーリング ぷぷり 2000/03/02-19:36
記事番号4939へのコメント
できるかどうかはわかりませんが、アクセスなどのODBCが
利用できるデータベースを仲介させるというのはどうでしょうか?

4945 Re:ディレクトリ間での表のミラーリング hidetake 2000/03/02-22:19
記事番号4943へのコメント
こんな事は実用的でないし、何が起こるかわからないし、
単なる実験と言う意味でとらえてください。

\DATA\KIRIW\団体名簿.TBL
\DATA\KIRIW\ABC\2000\なんとか.TBL

と言うものが有ったとして、2000 年の部屋で団体名簿の
データと結合表を作りたいとします。

まず、団体名簿.TBL の複製として
_DATA_KIRIW_団体名簿.TBL
を作成します。
次に、なんとか.TBL を \DATA\KIRIW\ にコピーします。
もし、#表引き計算式の設定で \DATA\KIRIW\ の部屋で
なんとか.TBL が開けない場合は、計算式を削除しておきます。

そして、\DATA\KIRIW\ の部屋で、なんとか.TBL と
_DATA_KIRIW_団体名簿.TBL の結合表を作ります。

できた結合表の内部を見ると、最後の方にSQL文が記述されております。

そのSQL文の _DATA_KIRIW_団体名簿.TBL の部分をバイナリエディタで \DATA\KIRIW\団体名簿.TBL と変更の上、この
結合表を 2000 年の部屋にコピーすれば取り敢えず異なるフォルダ間でも結合表は実現できるようです。
共有も可能でしたし、結合表によっては更新も可能で、元表もチャンとリアルタイムに更新されました。

と言うことで、参照整合性は別にして、結合表も K3 がまともに対応すれば、現在の仕様でも一応は対応できそう
な気もします。
また、参照整合性も一応ゴニョゴニョすればムニャムニャなりそうではあるが...

まぁ〜、今後の可能性を探る実験と言うことで...

決してまねなどしないようにお願いします。
何があっても私は知りません。

4949 Re:ディレクトリ間での表のミラーリング 中西 龍次 2000/03/03-00:52
記事番号4945へのコメント
hidetakeサン
ありがとうございます。

>決してまねなどしないようにお願いします。
>何があっても私は知りません。

て言われてやらない人がいるでしょうか?
やってしまいました。
早速ベクターでバイナリエディタ落として。
ゆにこーどもしらないのに。

なるほど出来ますね。
再定義しちゃうと、当然の事ながら元に戻ってしまいますね。

とりあえず、単表のみの結合表を作って、
他表との結合はその結合表を元にやってみようかな。

これはそうとう危険な技ですか?
K3におこられますか?

中西 龍次

4951 Re:ディレクトリ間での表のミラーリング hidetake 2000/03/03-13:05
記事番号4949へのコメント
Re:ディレクトリ間での表のミラーリング
もう一つの糸口?

Linux にはファイルの実体をコピーするのでは無く、
その実体はそのままに、別のところや別の名前で置く
シンボリックリンクと言う機能があります。

この機能を使えば、別のフォルダにあるファイルは全くそのままに、
別のフォルダに全く同等のファイルイメージを持ってくることが可能です。
(シンボリックリンクの実体はリンク情報だけです)
ユーザーはシンボリックリンクされたファイルを開いても、
実際には元となるファイルが操作されることになります。

だた、これで問題になるのは桐はシンボリックリンク
なんてものは何も関知していないので、そのままでは
全く別のファイルとして扱われます。

従って、それぞれが開かれた状態で更新が発生すれば
データが破損する可能性が高いと思います。
取りあえずはリードオンリー処理であれば何とかなるのかな?
あるいは共有名とかを巧く騙し、桐に一緒のファイルであるように
見せかければ何とか巧くいくのかも知れません。

これをやろうとすれば Linux の PC を準備し、サーバとして設定し
使わなければならないわけですし、先の例と言い何れもまっとうな処理ではありませんね!

ぷぷりさんが、書いたのは元データを Access とかに置き、親も子も ODBC を通して
アクセスする方法だと思いますが、この方法ですと実際の外部DB の使い勝手
は別にして、危険度は少ない処理となると思います。

まぁ〜、普通に考えれば何かのタイミングで元データを書き出すとか読み出す方がまっとうだと思います。

4956 Re:ディレクトリ間での表のミラーリング hidetake 2000/03/03-23:37
記事番号4951へのコメント
シンボリックリンクは Linux (UNIX系) だけでなく NT でも可能でした。
細く言うと NT で可能なのは、シンボリックリンクでは無くハードリンクの様ですが...

http://mikilab.doshisha.ac.jp/~kawasaki/free/symlink.html

ただ、こちらの場合は、バックアップ指定ありや、再定義で
どうもリンクが切れてしまいやすいようです。

シンボリックリンクとハードリンクの違いはこちらをどうぞ...

http://www.remus.dti.ne.jp/~sim/linux/misc/symbolic-link.html

4958 Re:ディレクトリ間での表のミラーリング 中西 龍次 2000/03/04-00:22
記事番号4956へのコメント
どうも危険をはらんでいるようですね。

詳しい説明ありがとうございました。

ここはひとつ安全面を考え、かつスタンドアロンに
戻した時、などのことを考え、更新の作業の後に
コピーを実行するように、CMDを作成したいと思います。

起動時には、常に 親ディレクトリから子へ
更新時には、すぐに子から親へ

という具合で、良いかと考えています。

また、初期設定.TBLなどにフラグをたてて
この処理を行うか否かを判断するようにすれば、
すぐに独立させられるのではと考えています。

以前からそうでしたが、回りくどい方法で、
処理するのが 桐 っぽいな。と思いました。

ありがとうございます。
ホントは、説明する側に回らなければいけないのですけれど
キャリア的には・・・・・

トホホな 中西 龍次

戻る