运行 sql 个来自 JDBC 的查询
Running sql queries from JDBC
我的要求是从 .txt 文件中读取 select sql 查询(一个大约 300 行的巨大查询)并 运行 通过 JDBC。我尝试这样做并且对某些人也取得了成功,但是现在我开始遇到很多麻烦。
在读取文件并从 JDBC 中 运行 宁它时,我不断收到错误消息,提示未找到 FROM 关键字,SQL 命令未正确结束,sql 异常。
在代码方面,我正在读取一个 .txt 文件并将其附加到一个字符串缓冲区中,如下所示:
queryFile=新文件("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 关键字、按关键字排序和其他关键字的原因。
有没有其他方法可以避免此类问题?
我会替换
sb.append(line);
和
sb.append(" ").append(line);
得到答案。
上面代码中缺少的东西是 sb.append('\n')。我没有在我的代码中附加新行字符,这就是格式不符合要求的原因。
正确的代码应该是:
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);
我的要求是从 .txt 文件中读取 select sql 查询(一个大约 300 行的巨大查询)并 运行 通过 JDBC。我尝试这样做并且对某些人也取得了成功,但是现在我开始遇到很多麻烦。
在读取文件并从 JDBC 中 运行 宁它时,我不断收到错误消息,提示未找到 FROM 关键字,SQL 命令未正确结束,sql 异常。
在代码方面,我正在读取一个 .txt 文件并将其附加到一个字符串缓冲区中,如下所示: queryFile=新文件("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 关键字、按关键字排序和其他关键字的原因。
有没有其他方法可以避免此类问题?
我会替换
sb.append(line);
和
sb.append(" ").append(line);
得到答案。 上面代码中缺少的东西是 sb.append('\n')。我没有在我的代码中附加新行字符,这就是格式不符合要求的原因。
正确的代码应该是:
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);