データベースからテキスト フィールドを抽出し、それを他のデータベースに挿入したいと考えています。したがって、抽出中に、テストの選択中に REPLACE(message_text,'\'', '"') を使用しました。エラーが発生しました。select ステートメントからそれを変更し、グローバル変数の初期化中にそれを実行しました。etl.globals[ 'メッセージ_テキスト'] = メッセージ_テキスト;
まだ挿入ステートメントでエラーが発生しています
insert into lcs_al_user_likes(user_id,liked_user_id,post_content,loop_id) values('${etl.globals['posted_by']}','${etl.globals['liked_user_id']}','${etl.globals['message_text']}',?batchLoopCounter);
言って
*SQL 構文にエラーがあります。1 行目の 'message_text']}')' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください*
グローバル変数を取得していないと思います。ログを使用してその値を出力すると、
${etl.globals['message_text']}
出力として。だからここで私を助けてください。
<query connection-id="lcsDBConnection">
SELECT forum_topic_post_id AS forum_topic_post_id, posted_by AS posted_by,message_text as message_text FROM lcs_tbl_forum_topic_post WHERE like_count>0 LIMIT ?batchSize OFFSET ?queryCounter ;
<script connection-id="jexl">
etl.globals['forum_topic_post_id'] = forum_topic_post_id;
etl.globals['posted_by'] = posted_by;
etl.globals['message_text'] = message_text.replace('\'', '"');
</script>