簡體   English   中英

從JDBC運行SQL查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM