質問
Amazon Aurora for MySQLの[検索系SQL実行]コンポーネントで「SELECT * FROM テーブル名 INTO OUTFILE S3 's3://バケット名/ファイル名'」というSQLを実行すると、「java.sql.SQLException: Not a navigable ResultSet.」エラーが発生します。SQLの実行自体は成功しS3にファイルが出力されていますが、スクリプトがエラーとなります。このエラーを回避する方法はありますか?
回答
「INTO OUTFILE」構文を使用した場合の回避策はありません。
エラーの理由は、[検索系SQL実行]コンポーネントでは決められた形でレスポンスがデータベースから返ってくることを想定していますが、「INTO OUTFILE」を使用すると本来の形でデータベースがレスポンスを返すことができず、エラーとなるためです。
代替策として、以下のスクリプトフローで実現できます。
1. [検索系SQL実行]コンポーネントを使用してデータを抽出する
2. [CSVファイル書き込み]コンポーネントで抽出されたデータを一度HULFT Squareのストレージに格納する
3. [ファイルフォルダ書き込み処理]コンポーネントでS3へファイルを書き込む
補足
[更新系SQL実行]コンポーネントに置き換えた場合も、「java.sql.SQLException: Statement.executeUpdate() or Statement.executeLargeUpdate() cannot issue statements that produce result sets.」というエラーが発生します。
コメント
0件のコメント
記事コメントは受け付けていません。