2016-10-11 5 views
1

Crateデータベースは、DBCPConnectionPoolコントローラサービスを使用してNifiからCrateに接続できるjdbcドライバを提供します。だから私は、私は接続を取得することをやった、ConvertJSONToSQLプロセッサは、クレートデータベースから列を取得することができますが、私は、私は次のエラーを取得するPUTSqlプロセッサに到達したとき:Nifi-1.0.0とCrate.IO

FlowFileHandlingException: transfer relationship not specified 

事は、私が持っているということですSUCCESS、FAILURE、RETRY関係が定義されています。これはonTrigger()メソッドにProcessExceptionをスローします。

どのように私はそれを動作させることができますか? jdbcドライバと互換性があるとすぐに動作しますが、

+0

FlowFileHandlingExceptionは、プログラミングミスを示しています。例外の近くにPutSQLに関連するスタックトレースとその他のログの残りの部分を投稿できますか? – JDP10101

+0

これはNiFi、PutSQLの標準プロセッサーです。私はpostgresqlのjdbcドライバーと一緒に使うとうまく動作します。 警告:処理に失敗したため、プロセッサ管理者は1秒間の処理時間を得ました。 と私が指定したエラー。 – bsd

+0

私はそれが標準プロセッサであり、転送関係を与えずにフローファイルをリークするロジックのパスと思われます。だから、あらかじめ何かが間違っているというログメッセージはありませんか? – JDP10101

答えて

1

これは、JDBC構成、SQL文などの問題を隠しているPutSQLのバグだと思います。有効なSQL INSERTステートメントでスタンドアロンJDBCドライバを使用することで、私はPutSQLをCrateと共に使用することができました。

接続情報とSQL文を再確認できますか?また、SQLや接続情報(JDBC URLなど)を再現して共有したい場合は、別の問題を隠しているPutSQLバグの一番下に来るのを手伝ってください。

+0

接続情報 'データベース接続URL:jdbc:crate://10.5.5.2:4300/schema_name データベースドライバクラス名:io.crate.client.jdbc.CrateDriver データベースドライブの場所:file:/// path/to/nifi/lib/crate-jdbc-standalone-1.13.1.jar' SQL文: 'INSERT INTO schema_name.my_table(transdate、transstype、account、custname、custadd1、custcity、custsate、custcountry、custemail、custphone、accessusername、accesspassword、currencyid、ma)VALUES(?、?、?、?、 – bsd

+0

16個の列名が表示されますが、18個のパラメータが表示されます – mattyb

+0

また、Crate JDBC JARをNiFiのlib /フォルダに入れると、NiFiの残りの部分が混乱する可能性があるので、それは落胆します。ファイルシステム上の他の場所に置いてデータベース接続プールを参照する方がよいでしょう。 – mattyb

関連する問題