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