みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初めて投稿します。
このたび、初めてFM Serverを導入したアプリケーションの開発を行っています。
FM Serverにホストしたファイルでは、既存のOracleからデータを検索して取得し、自分自身にデータをインポートするというスクリプトを作成してあります。
そのFM Serverにインポートされたデータを、FM ProまたはFM Goへ取りこみ、編集を行いたいです。
しかし、今FM Proから「サーバ上のスクリプト実行」でFM Serverにホストしたファイルのスクリプトを実行し、Oracleからデータをインポートすることはできているのですが、FM Proへ取り込むことができません。
FM Proでは、FM Serverにホストしたファイルを外部参照し、リレーションシップグラフでFM ProのTOとリレーションを張っていますが、それだけではFM Serverにインポートしたデータを取り込むという自動的な動作は実現できないのでしょうか。
実現させるためには、どのようにすればいいでしょうか。
FM Serverのマシンと、FM Proのクライアントマシンはネットワークでつながっており、FM Proから「共有ファイルを開く」でFM Serverのホストファイルを開くことは可能です。
気になるのは、「サーバ上のスクリプト実行」スクリプトステップを実行しているFM Proのスクリプトを動作させると、最終エラー:802が返却されることです。
Webやセミナー動画なども調査してみましたが、具体的な方法がわからず途方に暮れています。
少々急いでいることもあり、すがる思いで投稿させていただきます。。
どうがよろしくお願いします。
環境:
■FM Server 13
Windows Server 2008 R2 64bit
■FM Pro 13
Windows 7 Professional 32bit
外部参照した(外部データベースを定義)なら、そのテーブルのレイアウトを作るだけです。
ローカルのファイルに「取り込む」(ホストに接続しないで見られるようにする)なら、インポートでサーバのファイルファイルを指定するだけなので、外部参照は使いません。
どっちにしてもリレーションは必要ないです。
Layouter様
返信ありがとうございます。
外部参照した(外部データベースを定義)なら、そのテーブルのレイアウトを作るだけです。
ローカルのファイルに「取り込む」(ホストに接続しないで見られるようにする)なら、インポートでサーバのファイルファイルを指定するだけなので、外部参照は使いません。
どっちにしてもリレーションは必要ないです。
FM Serverのホストファイルは、複数クライアントからのアクセスを考えていますので、後者を考えています。
"インポートでサーバのファイルを指定するだけ"というのは、FM Serverのホストファイルのスクリプトで、リクエストを送ったFM ProクライアントのTOを指定し、レコードのインポートを実行するということでしょうか。
FileMaker Server でホストしたファイルは FileMaker Pro からも FileMaker Go からも見ることができます。
>そのFM Serverにインポートされたデータを、FM ProまたはFM Goへ取りこみ、編集を行いたいです
ホストしているファイルも編集できますが PC や iPad にファイルを入れたいのでしょうか?
違ったら良いですが別の掲示板でも同じ質問しているとあちらで答えて下さる方もいらっしゃるでしょうからどちらか閉じた方が良いと思いますよ。
Offline
Moz様
FileMaker Server でホストしたファイルは FileMaker Pro からも FileMaker Go からも見ることができます。
>そのFM Serverにインポートされたデータを、FM ProまたはFM Goへ取りこみ、編集を行いたいです
ホストしているファイルも編集できますが PC や iPad にファイルを入れたいのでしょうか?違ったら良いですが別の掲示板でも同じ質問しているとあちらで答えて下さる方もいらっしゃるでしょうからどちらか閉じた方が良いと思いますよ。
別掲示板の件については大変失礼しました。少々焦っていたもので;
構成としましては、FM Pro、FM Go(iPad)、それぞれを使用するクライアントが複数いますので、クライアント用にFMファイルを作成して配布し、
配布したFMファイルのスクリプトで、「サーバ上のスクリプト実行」スクリプトステップを実行します。「サーバ上のスクリプト実行」で実行するのは、FM Serverのホストファイルに作成したスクリプトです。
「サーバ上のスクリプト実行」スクリプトステップの結果(Oracleからインポートしたレコード)を、クライアントのファイルに落としたいのですが、直接結果を反映させる方法はないのでしょうか。
インポートはデータが入る側のファイルでしか実行できませんから、クライアント側になります。
「サーバ上のスクリプト実行」で実行結果を返せるので、インポートしたレコードIDのリストを返してクライアントで検索するとか、
そのリストをフィールドに入れてリレーションすれば関連レコードとして表示したり関連レコードへ移動するとか
逆に先にクライアントでUUIDを生成してそれを引数で渡して、サーバ上でインポート時にその値も入れるようにすれば、リレーションキーに使えますね。
「ホストしているファイルも編集できる」んで、インポートする意味あるのかな??Oracleからのインポート時に新規レコードにすれば、直接編集でもよさそうな?
Layouter様
インポートはデータが入る側のファイルでしか実行できませんから、クライアント側になります。
「サーバ上のスクリプト実行」で実行結果を返せるので、インポートしたレコードIDのリストを返してクライアントで検索するとか、
そのリストをフィールドに入れてリレーションすれば関連レコードとして表示したり関連レコードへ移動するとか逆に先にクライアントでUUIDを生成してそれを引数で渡して、サーバ上でインポート時にその値も入れるようにすれば、リレーションキーに使えますね。
なるほど…「サーバ上のスクリプト実行」の結果としてレコードを返すという考え方がまず適切ではないのですね。
キーを返却または予め作成するという考え方は参考にさせていただきます。
「ホストしているファイルも編集できる」んで、インポートする意味あるのかな??Oracleからのインポート時に新規レコードにすれば、直接編集でもよさそうな?
複数のクライアントからの同時接続を考えた時に、レコードの重複、競合といったような危険があるのでは、と考え、FM ServerのホストファイルではOracleのデータを検索して結果を返すだけの一時テーブルの意味合いを考えていました。
しかし、UUIDというキーワードをいただき、クライアント毎のキーを生成し、それぞれ新規レコードとしてOracleからインポートした上で直接編集というかたちをとれば、各クライアントの操作は影響しあわないのではと思いましたが、そのようなことは可能でしょうか。
「ホストしているファイルも編集できる」んで、インポートする意味あるのかな??Oracleからのインポート時に新規レコードにすれば、直接編集でもよさそうな?
Layouterさんと同感です。ホストしているファイルを使えない理由があるのでしょうか?
[サーバー上のスクリプト]を使った Oracle からのインポートは FileMaker Server でしか動きませんから
ホストから完全に切り離すことは難しいでしょうし、仕組みの作りも面倒ですよ。
PC や iPad の中にあるファイルは独立したものになりますからお互いの情報を見るためには同期の仕組みを考える必要もあるでしょう。
Offline
Moz様
返信が遅くなりました。
Layouterさんと同感です。ホストしているファイルを使えない理由があるのでしょうか?
[サーバー上のスクリプト]を使った Oracle からのインポートは FileMaker Server でしか動きませんから
ホストから完全に切り離すことは難しいでしょうし、仕組みの作りも面倒ですよ。
お二方の意見を聞いて、ホストしているファイルのデータを使用しないという構想は、確かにFM Serverを使用する意味合いがなくなってしまうなと思いました;
自分で構成を難しくしてしまっていたようです。
構成を見直したうえで開発を進め、同期についても仕様を踏まえながら考えたいと思います。
Layouter様、Moz様、アドバイスをいただきありがとうございました。
Pages: 1
[ Generated in 0.017 seconds, 7 queries executed - Memory usage: 545.87 KiB (Peak: 566.41 KiB) ]