繁体   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