运行 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);