2016-10-26 10 views
0

私はAmazon RDS mysqlデータベースにテキストファイルを読み込むためのスクリプトを持っています。テキストファイルからさまざまな数のカラムを処理し、JSONとして格納する必要があります。ここではJSONとして格納されます5列の例です:Filemakerでデータのローカルinfile問題をロードする

LOAD DATA LOCAL INFILE '/Applications/FileMaker Pro 14/containers/imports/load1.txt' INTO TABLE jdataholder (rowdatetime, @v1, @v2, @v3, @v4, @v5) SET loadno = 1, formatno = 1, jdata = JSON_OBJECT('Site', @v1, 'Nutrients', @v2, 'Dissolved_O2', @v3, 'Turbitidy', @v4, 'Nitrogen', @v5);

local_infileは、サーバ上の 'ON' です。クエリーはSequel Proで機能します。私がFilemaker Pro 14(OS X 10.12上で実行している)で実行しようとすると、SQLスクリプトを実行するステップが動作しません。 LOAD DATA LOCAL INFILEステートメントを使用しない他のクエリを実行できるので、サーバーへの接続が機能していることがわかります。

私が取得エラーメッセージが書かれています:クライアントはまたlocal_infileが有効になっている必要があるようにそれはそうSOおよび他の場所で他の回答から

ODBC ERROR: [Actual][MySQL] Load data local infile forbidden

。これはなぜそれが1つのクライアントで動作し、他のクライアントでは動作しないかを説明します。私はこれをしようとしましたが、私が見た指示はすべて端末を使用しています。私はFilemakerがこれのようなものを持っているとは思わない - 単にクエリエディタにSQLを入力し、それをリモートデータベースに送ることができる。どのようにしてクライアントの設定を変更できるかわからない。

誰もFilemakerでこれを有効にする方法を知っていますか?あるいは、私はこの仕事をするために何か他に何かできますか?

ストアドプロシージャからロードデータローカルinfileクエリを実行した場合、これを回避できますか?それは私の元々の計画でしたが、ドキュメンテーションによると、ロードデータのinfileステップは変数ではなくリテラル文字列を呼び出さなければならないので、可変数のカラムを処理する方法は考えられませんでした。

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

+0

には、FileMakerは、クエリ「SQLを実行」を実行するためにODBCドライバを使用してODBCの設定を開こうドライバをインストールし、local_infileの設定があるかどうかを確認してください。ストアドプロシージャも同様に動作し、MYSQLのルーチンと呼ばれることを覚えています。 –

+0

Nicolai、ODBCドライバはSequel Proと同じです。 – JohnH

答えて

0

FileMaker ExecuteSQLがこれをサポートしていない可能性があります。ターミナルコマンドを実行できるプラグインを使用し、そのプラグインを使用してFileMakerを通じて端末でアクションを実行することをお勧めします。そのための機能を持つ無料のプラグインがあります。これはBaseElementsです。以下は、この特定の機能に関するドキュメントへのリンクです。

https://baseelementsplugin.zendesk.com/hc/en-us/articles/205350547-BE-ExecuteShellCommand

あなたはMySQLのテーブルにデータを挿入しようとしている場合は、より良い方法は、あなたは、MySQL、OracleおよびFileMakerの内部に他のサポートされているデータベースを操作することを可能にするFileMakerのESS(外部SQLソース)を、使用することです。これは、ESS(MySQLのテーブルにデータをインポートすることができるという含まれてあなたは下のESS上のPDF文書を見ることができます:。。

https://www.filemaker.com/downloads/documentation/techbrief_intro_ess.pdf

+0

"Execute SQL"と "ExecuteSQL"はFileMakerの2つの異なるスクリプトステップです –

+0

ありがとう@jplasencia。私はあなたのBE_ExecuteSystemCommand'を使用しました。興味深いことに、それと同様の問題が発生します。 Filemakerでコマンドを実行すると、動作しません。しかし、 '.sh'ファイルに入れてFilemakerからそのファイルを実行すると、正常に動作します。私はまだこの問題の根本的な原因を知ることはできませんが、この回避策で十分です。 – JohnH

関連する問題