3

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) を使用したりしてみましたが、今のところうまくいきません。

ありがとう!

4

1 に答える 1