java - 从 JDBC 运行 sql 查询

标签 java jdbc stringbuilder

我的要求是从 .txt 文件中读取 select sql 查询(大约 300 行的巨大查询)并通过 JDBC 运行它。我尝试这样做,并且对某些人来说也取得了成功,但是现在我开始从中遇到很多麻烦。

在读取文件并从 JDBC 运行它时,我不断收到错误,提示未找到 FROM 关键字、SQL 命令未正确结束、sql 异常。

在代码方面,我正在读取 .txt 文件并将其附加到字符串缓冲区中,如下所示: queryFile=new File("文件位置");

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

关于java - 从 JDBC 运行 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608932/

相关文章:

java - 线程中的异常 "main"java.lang.ClassNotFoundException : oracle. jdbc.OracleDriver Jdbctype4test.Type4test.main(Type4test.java:21)

java - BFILE 定位器可以指向不同文件管理器上的目录吗?

java - 我应该如何终止 Java 中的循环子线程?

Java:按类型对列表元素进行分组

java - 用于自动故障转移的 Galera 集群 JDBC URL

C# PInvoke 输出字符串声明

Java ByteBuffer 清除数据

java - 将 Cordova 插件转换为 Flutter 插件

java - 将 child 的值(value)作为字符串

c# - 是否值得在 Web 应用程序中使用 StringBuilder?