質問
AWS Auroraに対して、以下のSQLを発行した際にエラーが出現しています。
■SQL文(検索系コネクタ利用)
SELECT * FROM [テーブル名] INTO OUTFILE S3 [ユーザのバケット名]
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
OVERWRITE ON
■エラー内容
[exec_select(クラウド/Amazon Aurora for MySQL/検索系SQL実行)]の処理に失敗しました。原因:[java.sql.SQLException: Not a navigable ResultSet.]
■伺いたい事
・SQLの実行は成功しています(S3にファイルが出力されていることを確認)が、スクリプトが上記のエラーとなります。このエラーを回避する方法はありますでしょうか?
回答
SQL構文内におきましては、検索系SQLにおいて決められた形で
レスポンスがデータベースから返ってくることを想定しておりますが、「INTO OUTFILE」を使用してしまうと、
本来の形でデータベースがレスポンスを返すことができず、エラーとなってしまいます。
SQL文におきまして、「INTO OUTFILE」を使用した場合の回避策はございません。
SQL文で抽出したデータのファイルをクラウドに格納する場合は、以下のような一例がございます。
- デザイナー内で検索系SQLを使用して、データを抽出する
- 抽出されたデータを一度、CSV等の形式でファイルを作成し、一度Hulft Squareのストレージに格納する
- クラウド内(SQL内ではS3)へのファイル書き込みを行う
- HulftSquareのストレージ等に格納したファイルを消去する
注意点といたしましては、データベースにある相当量のデータを一度ストレージに格納するため、Hulft Squareのパフォーマンスが低下する恐れがございます。そのため、クラウドなどへの書き込みが終わり次第、Hulft Squareストレージ内のファイルを削除してください。
コメント
0件のコメント
記事コメントは受け付けていません。