java - 如何从java执行sql文件

标签 java sql oracle jdbc io

我有一个包含多个查询和表的 ORACLE SQL 脚本,我想在程序开始时从我的 Java 程序运行该脚本,以确保一切都在正确的位置。我找到了运行脚本的代码,但由于某种原因它不起作用。任何人都可以向我提供 sample ,以便我可以遵循它。

这是我发现的:

try {
    String line;
    Process p = Runtime.getRuntime().exec ("psql -U sas -d oracle -h @localhost -f Lab_05_Tables.sql");
    BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream()));

    while ((line = input.readLine()) != null) {        
        System.out.println(line);
    }
    input.close();
}
catch (Exception err) {
    err.printStackTrace();
}

但它不起作用。

错误

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system     
cannot find the file specified

最佳答案

如果您有资源,将 SQL 从您的脚本移植到 Java 程序本身会好得多。

参见 Java JDBC tutorial .

关于java - 如何从java执行sql文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304516/

相关文章:

sql - 如何在Oracle中找到负最大值和正最小值?

regex - 如何使用 Oracle regexp_substr 从字符串中提取单词?

java - 反序列化后 HashMap 变慢 - 为什么?

sql - SSRS设计器中的数据集面板(报告数据)消失了

c# - 指定的转换对于 sql server 查询无效

Oracle 软件包规范和正文

Java 图形对象未更新?

javascript - 如何从数据库中显示所需格式的日期,从iso8601到类型="date"

java - jaxws-maven-plugin、maven-enunciate-plugin 示例?

MySQL不是很慢