初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-02-01 20:25:16

jose
Member

サーバースケジュール用のスクリプト(インポート)

サーバー上のログで
エラー100 (ファイルが見つかりません)
が出てしまいます。

ファイルAのテーブルAから外部ファイルBの関連テーブルBに特定のファイルをインポートしたいと思っています。

スクリプトスケジュールはファイルAから実行

スクリプト内のインポートメニューは、

ダイアログなし
データソースを指定:ファイルパスは、ファイルの追加〜共有ファイル〜ホストサーバー内のファイルで選択( file:ファイル名 となっています)

ご教授いただけたら幸いです。

Offline

#2 2016-02-01 22:28:25

Shin
Member

Re: サーバースケジュール用のスクリプト(インポート)

http://www.filemaker.com/help/14/fmp/ja … tml#828994
の「メモ」を読んでください。そのインポートは無理です。

Offline

#3 2016-02-02 16:00:59

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

>Shinさん

いつもありがとうございます。早とちりですいませんでした。他の方の投稿を確認して、一度 .merファイルでエクスポートした後にインポートするやり方ができるようになりました。今はローカルファイルでテストしているので、これからサーバーにアップしてからテストしてみたいと思います。

スケジュールで定期的に書き出しされるファイル名はその都度違うファイル名になるようにしないとダメですよね?
もしくはドキュメント内のファイルを定期的に削除するようにスクリプトを組むのでしょうか?
一般的にはどのように対処しているのでしょうか?

Offline

#4 2016-02-03 11:35:27

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

サーバー上のDocumentフォルダへ、ファイル.merをexportしimportできました。今後のことも考えて、サーバー上のDocument内にサブフォルダimportを作成してそこへ書き出し先、インポート先を指定してあげたいのですが、うまく実行できません。ファイルパスは、

$filepath = Get ( ドキュメントパス ) & "/import/ファイル.mer"

にしてあるのですが、どなたかご指摘いただけないでしょうか?

Last edited by jose (2016-02-03 11:41:51)

Offline

#5 2016-02-03 12:10:55

Hiro
Member

Re: サーバースケジュール用のスクリプト(インポート)

パス自体の整合性は別として置いといても、

   $filepaht = Get ( ドキュメントパス ) $ "/import/ファイル.mer"

パスの記述は非常に厳格です。こう云うケアレスミスを平然と問うという状態では??

Get(ドキュメントパス)の結果は確認していますか?
例えばWinは、「/C:/Users/Admin/Documents/」という結果なので、自ずと式は、

   $filepath = "file:" & Get(ドキュメントパス) & "import/ファイル.mer"

Offline

#6 2016-02-03 16:48:32

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

>Hiroさん

いつもありがとうございます。
ミスタイプの訂正が反映されていなかったみたいですが、サブフォルダ前に/が余計に入っていたケアレスミスでした。すいません。
ちなみにmacを使用しているので

$filepath = Get ( ドキュメントパス ) & "import/ファイル.mer"

となっています。Documentsファイル内にimportのサブフォルダは存在します。

変数を設定のオプション
名前:$ filepath
値:次の式のいずれかを使用してください
Macの場合:Get ( ドキュメントパス )&"Export.csv"
Windowsの場合:"filewin:"&Get ( ドキュメントパス )&"Export.csv"

ナレッジベースのこの資料を参照にmacのパスを作ってみたんですが、クライアント側からスクリプトを実行するとドキュメント内のサブフォルダimport内にエクスポート&インポートができるのに、スケジュール上だとサブフォルダを見つけられないでエラー100と800がでてしまいます。

$filepath = Get ( ドキュメントパス ) & "ファイル.mer"

であればスケジュールが実行できています。

Last edited by jose (2016-02-03 17:17:00)

Offline

#7 2016-02-03 19:54:43

qb_dp
Member

Re: サーバースケジュール用のスクリプト(インポート)

Documentsファイル内にimportのサブフォルダは存在します。

今一度確認ですが、「フォルダ:import」は、FileMaker Serverが稼働しているServer機のDocumentsフォルダにあるのでしょうか?
インストール時に変更指定なければ、Documentsフォルダは、以下にあります。
C:/Program Files/FileMaker/FileMaker Server/Data/Documents/

Offline

#8 2016-02-03 21:28:44

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

>qb_dpさん

get ( ドキュメントパス ) の確認をするために、フィールドを作成して内容を計算式「 get ( ドキュメントパス ) 」で全置換するスケジュールでテストしてみたら、

/Macintosh HD/Library/FileMaker Server/Data/Documents/
という結果がででています。

Documentsの中にimportのフォルダがあって、そこを書き出し先にしたいので
Get ( ドキュメントパス ) & "import/ファイル.mer"
にしたんですが、でてくるログは:

2016/02/03 17:00:00 サーバーイベント 情報 644 スケジュール「test」が完了しました; 最後のスクリプトエラー (100)。
2016/02/03 17:00:00 サーバーイベント 情報 126 スケジュール「test」は 2016/02/04 17:00 にスケジュールされています。
2016/02/03 17:00:00 サーバーイベント 情報 645 「FMSプラクティス : サーバーインポート : Import Records」でスケジュール「test」スクリプトエラー (100)。
2016/02/03 17:00:00 サーバーイベント 情報 645 「FMSプラクティス : サーバーインポート : Export Records」でスケジュール「test」スクリプトエラー (800)。
2016/02/03 17:00:00 サーバーイベント 情報 689 スケジュール「test」が FileMaker スクリプト「サーバーインポート」を開始しました。

Get ( ドキュメントパス ) & "iファイル.mer"
だと、ログは:

2016/02/03 17:04:00 サーバーイベント 情報 126 スケジュール「test」は 2016/02/04 17:04 にスケジュールされています。
2016/02/03 17:04:00 サーバーイベント 情報 150 スケジュール「test」を完了しました。
2016/02/03 17:04:00 サーバーイベント 情報 689 スケジュール「test」が FileMaker スクリプト「サーバーインポート」を開始しました。

となります。

Offline

#9 2016-02-03 21:50:53

qb_dp
Member

Re: サーバースケジュール用のスクリプト(インポート)

アクセス権の問題っぽいデスね。
FileMaker Serverプロセスがimportのフォルダに書き込み出来る権限が無いのだと思われます。
Documentsフォルダと同様のアクセス権にすれば、大丈夫では?

Offline

#10 2016-02-03 22:05:56

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

>qb_dpさん

できました!。確かに自分でフォルダを作成したのでアクセス権がOS上のアカウント向け?になっていました。指摘の通りDocumentsと同じアクセス権に設定したところ無事にファイル作成ができました。
ありがとうございます!

Offline

#11 2016-02-04 19:23:09

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

サーバーでのインポートを「サーバー上のスクリプト実行」からやろうと思っているのですが、やはりスケジュールと同じく一度エクスポートしなくてはできないということで良いのでしょうか?

Offline

#12 2016-02-04 19:31:48

Shin
Member

Re: サーバースケジュール用のスクリプト(インポート)

何をインポートしようとしているのか、によるでしょう。
FMS は、FMS アカウントのドキュメントフォルダーとテンポラリーフォルダーにしかアクセスできないので、そのフォルダーにインポートする何かを置けばいいのですが。

Offline

#13 2016-02-05 19:10:52

qb_dp
Member

Re: サーバースケジュール用のスクリプト(インポート)

「FileMaker Serverのスケジュール 」も、「サーバー上のスクリプト実行」も、FileMaker Server のスクリプトエンジンが処理を実行するので同じです。
FileMaker Proでインポート処理を実行するなら、FileMakerのテーブルから直接、インポートが行えます。

Offline

#14 2016-02-07 16:18:00

jose
Member

Re: サーバースケジュール用のスクリプト(インポート)

>shinさん、qb_dpさん

いつもありがとうございます。FMSの使い方もまだまだ初心者なので、大変勉強になります。初心者なりの質問やその都度間違えがあったりしますが、今後とも宜しくお願いします。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.015 seconds, 9 queries executed - Memory usage: 549.53 KiB (Peak: 570.44 KiB) ]