2016-07-13 10 views
0

NifiからOracleデータベースからデータを取得しようとしています。キャンバスでは、5分ごとに実行するようにスケジュールされたファイルサイズが0 KBの「GenerateFlowFile」プロセッサを配置しました。これは、成功すると "ExecuteSQL"プロセッサーをトリガーするだけです。 "ExecuteSQL"ではDB接続プールサービスをDBCPConnectionPoolに設定しました。 SQLクエリ "SELECT * FROM SOMETABLE"を入力します。私のDBCPConnectionPool設定は次のようになります:ExecuteSQLは何もしません

実行しようとすると何も起こりません。赤いボックスは緑色になり、 "ExecuteSQL"プロセッサの右上隅に数字1が表示されます。しかし、何も起こりません。その後、私はそれを停止すると、まだアクティブなスレッドは1です。
私はこれに新しいですので私に助言できますか?ありがとうございました。オリジナルのポストは答えているので

+0

NiFiログファイルをチェックしましたか? –

+0

どのバージョンのNiFi?あなたが選んでいるテーブルの大きさはどれくらいですか?それは接続に掛かっている、または本当に長い時間がかかるようです。完了したらどれくらい待ったのですか? –

+0

申し訳ありません、私は非常に大きなテーブルから選択していたので、何も起こらないと思いました。私は小さなテーブルからクエリを実行しようとしましたが、それはうまくいきますが、同じレコードセットをクエリし続けます。レコードセットが同じであれば、どのようにクエリを停止できますか? – iPhoneJavaDev

答えて

1

、私はそのコメントの中に質問に応えます:

をあなたは起動してすぐに停止し、その後、30秒ごとかそこらを実行するためにGenerateFlowFileプロセッサを設定することができます。これにより、ExecuteSQLは一回だけ実行され、すべての行がフェッチされます。

また、QueryDbTableプロセッサを使用すると、最初にすべての行をフェッチしますが(増加する主キーのような最大値の列に基づいて)、行を返すだけですが加えられる。

関連する問題