みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
サーバー上のログで
エラー100 (ファイルが見つかりません)
が出てしまいます。
ファイルAのテーブルAから外部ファイルBの関連テーブルBに特定のファイルをインポートしたいと思っています。
スクリプトスケジュールはファイルAから実行
スクリプト内のインポートメニューは、
ダイアログなし
データソースを指定:ファイルパスは、ファイルの追加〜共有ファイル〜ホストサーバー内のファイルで選択( file:ファイル名 となっています)
ご教授いただけたら幸いです。
Offline
http://www.filemaker.com/help/14/fmp/ja … tml#828994
の「メモ」を読んでください。そのインポートは無理です。
Offline
>Shinさん
いつもありがとうございます。早とちりですいませんでした。他の方の投稿を確認して、一度 .merファイルでエクスポートした後にインポートするやり方ができるようになりました。今はローカルファイルでテストしているので、これからサーバーにアップしてからテストしてみたいと思います。
スケジュールで定期的に書き出しされるファイル名はその都度違うファイル名になるようにしないとダメですよね?
もしくはドキュメント内のファイルを定期的に削除するようにスクリプトを組むのでしょうか?
一般的にはどのように対処しているのでしょうか?
Offline
サーバー上のDocumentフォルダへ、ファイル.merをexportしimportできました。今後のことも考えて、サーバー上のDocument内にサブフォルダimportを作成してそこへ書き出し先、インポート先を指定してあげたいのですが、うまく実行できません。ファイルパスは、
$filepath = Get ( ドキュメントパス ) & "/import/ファイル.mer"
にしてあるのですが、どなたかご指摘いただけないでしょうか?
Last edited by jose (2016-02-03 11:41:51)
Offline
パス自体の整合性は別として置いといても、
$filepaht = Get ( ドキュメントパス ) $ "/import/ファイル.mer"
パスの記述は非常に厳格です。こう云うケアレスミスを平然と問うという状態では??
Get(ドキュメントパス)の結果は確認していますか?
例えばWinは、「/C:/Users/Admin/Documents/」という結果なので、自ずと式は、
$filepath = "file:" & Get(ドキュメントパス) & "import/ファイル.mer"
Offline
>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
Documentsファイル内にimportのサブフォルダは存在します。
今一度確認ですが、「フォルダ:import」は、FileMaker Serverが稼働しているServer機のDocumentsフォルダにあるのでしょうか?
インストール時に変更指定なければ、Documentsフォルダは、以下にあります。
C:/Program Files/FileMaker/FileMaker Server/Data/Documents/
Offline
>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
アクセス権の問題っぽいデスね。
FileMaker Serverプロセスがimportのフォルダに書き込み出来る権限が無いのだと思われます。
Documentsフォルダと同様のアクセス権にすれば、大丈夫では?
Offline
>qb_dpさん
できました!。確かに自分でフォルダを作成したのでアクセス権がOS上のアカウント向け?になっていました。指摘の通りDocumentsと同じアクセス権に設定したところ無事にファイル作成ができました。
ありがとうございます!
Offline
サーバーでのインポートを「サーバー上のスクリプト実行」からやろうと思っているのですが、やはりスケジュールと同じく一度エクスポートしなくてはできないということで良いのでしょうか?
Offline
何をインポートしようとしているのか、によるでしょう。
FMS は、FMS アカウントのドキュメントフォルダーとテンポラリーフォルダーにしかアクセスできないので、そのフォルダーにインポートする何かを置けばいいのですが。
Offline
「FileMaker Serverのスケジュール 」も、「サーバー上のスクリプト実行」も、FileMaker Server のスクリプトエンジンが処理を実行するので同じです。
FileMaker Proでインポート処理を実行するなら、FileMakerのテーブルから直接、インポートが行えます。
Offline
>shinさん、qb_dpさん
いつもありがとうございます。FMSの使い方もまだまだ初心者なので、大変勉強になります。初心者なりの質問やその都度間違えがあったりしますが、今後とも宜しくお願いします。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 549.64 KiB (Peak: 570.55 KiB) ]