このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ファイルメーカーを使っての検索用cgiについての質問

発言者:稲垣@信州大学
( Date Monday, August 26, 1996 14:04:28 )


 初めて投稿します、稲垣@信州大学といいます。

 ここのページと「Macintosh インターネットサーバー構築術」を参考にファイルメーカーを
使った簡単な検索用cgiを作成しました。
 今のところ、一つのファイルの情報を検索させているのですが、ファイルを指定しての検索に
ついてどのように設定したら良いのか分かりません。設定の方法を教えてください。
 また、出来たら検索をする度に、そのファイルを開き、検索が終わったファイルを閉じるように
設定をしたいのですが、うまくいく方法もあれば教えてほしいのですが。

 つまり、ファイルメーカーは常時立ち上げておき、cgiからの要求に合わせてデータの入って
いるファイルを選択して開き、検索が終わったらそのファイルを閉じるようなものを作りたいの
です。

 使用環境は、「MacHTTP2.2.2」とcgiは「Apple Script」で組んでいます。

稲垣@信州大学 さんからのコメント
( Monday, August 26, 1996 14:06:31 )

ご免なさい、アドレスなどを書き忘れました。
mail  f925003@giptc.shinshu-u.ac.jp
HP http://butsumac1.shinshu-u.ac.jp/EcoLink/EcoLink_home.html
です。

田中求之 さんからのコメント
( Monday, August 26, 1996 16:15:46 )

まず処理の前に必要なデータベースをオープンする場合は、

tell application "ファイルメーカーPro"
    open file "MacHD:myData:myDatabase" ---- データベースファイルのパス
end tell

というように、open コマンドでファイルを開きます。

次に処理が終わった時点でデータベースを閉じる場合は、

tell application "ファイルメーカーPro"
  close database "myDataBase"
end tell

というように、close database "データベース名" というコマンドで閉じることが
できます。

以上の2つを CGI の処理の中に組み込むことになります。

なお、データベースを開いたり閉じたりする処理にはどうしても時間がかかります。
複数のデータベースを扱う場合には、必要なデータベースをすべて開いておいて、

 Show Database "データベース名"

で必要なデータベースを手前に持ってくるか、あるいは処理の中でデーターベースを
指定する形でコマンドを書く、たとえば

 set myList to (id of every record of database "myDataBase" whose cell "No." is keyA) as list

のようにする、というのが良いと思います。もちろん、メモリーなどの制約から
すべてのデータベースなど開けておけない場合には、その都度、あけたり閉じたり
することになりますが。

稲垣@信州大学 さんからのコメント
( Tuesday, August 27, 1996 15:45:45 )

 早速の返答ありがとうございます。

 質問の仕方が少し悪かったようです。ファイルを開いたり閉じたりするコマンドは、分かっていたのですが、
実際にうまくコントロールするのには、どの部分に入れたらいいのかを知りたかったです。
 Appleイベントが来てから開き、返し終わるときに閉じればいいはずなのですが、うまくいかなかったのも
で、質問しました。

 あと、データファイルを開いたままですと、ほかの原因でフリーズなどをしたときに、ファイル内のデータ
が壊れるのを防ぎたかったのです。

 でも、実際に動かしていくには、データベースを複数開いておいて、データベースを指定するコマンドを書
いたほうがやりやすそうですね。

 丁寧な返答ありがとうございました。