CSV ファイルからデータベース テーブルにデータを移動しようとしていますが、スクリプトで列ヘッダー名を使用したいと考えています。例えば:
<connection id="csvin" driver="csv" url="/path/to/file.csv" />
<connection id="dbout" driver="h2" url="connection string" />
<query connection-id="csvin">
<script connection-id="out">
INSERT INTO mytable VALUES (?column one,?column five,?column eight)
</script>
</query>
上記から SQL 構文エラーが発生します。代わりに SQL ステートメントを使用する場合
INSERT INTO mytable VALUES (?1, ?5, ?8)
その後、動作します。しかし、私はむしろ列ヘッダーを使用したいと思います。ロジスティクス上の理由により、列ヘッダー名をスペースを含まないように変更することはできません。スペースを含む名前を使用して達成する方法はありますか?
スペースをエスケープしたり、名前を引用したり、括弧を使用したり、Unicode 表記 ( \u0020
) を使用したりしてみましたが、今のところうまくいきません。
ありがとう!