2017-03-04 3 views
1

私は構築しているアプリケーションを持っています(Spring Boot、PostgreSQL);私は、データベースに対してsqlStatements.sqlファイルからSQL文を実行しています。場合によっては、ドライバが挿入文の前に空白文字を追加しているように見えますが、関数を作成しようとするとテーブルを定義するときには発生しません。私は使用してSQL文字列のトリム()メソッドを使用していません。 SQL文をロギングするときには、空白文字はありませんが、PostgreSQLのログを見ると、確かにそこにあります。これはドライバの既知の問題ですか?私は変更する必要があるデータベース側の設定はありますか?または、このエラーを回避するためにJavaで抽出作業を行う必要がありますか?PostgreSQLドライバがいくつかのSQL文に隠し文字を追加します

ここに貼り付けるとスペースが消えてしまいました。 SQLファイルはすべてUTF-8です。

アプリケーションログ:

org.postgresql.util.PSQLException: ERROR: syntax error at or near "insert" Position: 1

PostgreSQLのログ:

2017-03-04 10:29:26 EST ERROR: syntax error at or near " insert" at character 1

すべてのフィードバックをいただければ幸いです。

+3

私はそれが実際の問題であることを非常に疑っています。私はあなたの質問に何か間違っているか、あなたの質問を実行する前にあなたの質問を読んでいると思われるでしょう。 –

+0

クエリはpgAdminで機能し、create文とinsert文を使ってファイルを読み込む方法に違いはありません。 – EvangeloPoneres

+1

SQLファイルはおそらくBOMで始まります。それをファイルから削除するか、ファイルを読むときに処理します。 https://en.wikipedia.org/wiki/Byte_order_mark。ファイルから読み込まれたすべての文字をダンプします。読み込んだ文字の中に*印字不可能な文字があることがわかります。 –

答えて

関連する問題