[英]Running sql queries from JDBC
我的要求是從.txt文件中讀取select sql查詢(大約300行中的一個巨大查詢),然后通過JDBC運行它。 我嘗試這樣做,並且在某些方面也取得了成功,但是現在我開始擺脫了很多麻煩。
從JDBC讀取文件並運行該文件時,我不斷收到錯誤消息,提示未找到FROM關鍵字,SQL comand未正確結束,sql異常。
在代碼端,我正在讀取.txt文件,並將其附加到字符串緩沖區中,如下所示:queryFile = new File(“ file location”);
BufferedReader buffer=new BufferedReader(new FileReader(queryFile));
StringBuilder sb = new StringBuilder();
String line;
while((line=buffer.readLine()) !=null){
sb.append(line);
}
sql=sb.toString();
System.out.println(sql);
當我在字符串生成器中打印sql語句並將其與原始查詢進行比較時,似乎缺少空格,這就是為什么它無法識別FROM關鍵字,Order by Keyword和其他關鍵字的原因。
我還有其他方法可以解決這些問題嗎?
我會取代
sb.append(line);
同
sb.append(" ").append(line);
得到了答案。 上面的代碼中缺少的是sb.append('\\ n')。 我沒有在代碼中添加換行符char,這就是為什么格式化不符合要求的原因。
正確的代碼應為:
BufferedReader buffer = new BufferedReader(new FileReader(queryFile));
StringBuilder sb = new StringBuilder();
String line;
while((line=buffer.readLine()) !=null){
sb.append(line);
sb.append('\n')
}
sql=sb.toString();
System.out.println(sql);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.