2017-03-04 68 views
1

我有一個應用程序,我正在構建(Spring Boot,PostgreSQL);我正在從數據庫的sqlStatements.sql文件執行sql語句。在某些情況下,驅動程序似乎在插入語句的前面添加了空格字符,並且在嘗試創建函數時,它在定義表格時不會發生。我在sql字符串上使用trim()方法無濟於事。在記錄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 statement和insert語句讀取文件的方式之間沒有區別。 – EvangeloPoneres

+1

您的SQL文件可能以BOM開頭。將其從文件中刪除,或在閱讀時處理。 https://en.wikipedia.org/wiki/Byte_order_mark。轉儲從文件中讀取的每一個字符,並且您會看到在讀取的內容中*是* nin-printable字符。 –

回答

相關問題