如何从java执行sql文件

Sas*_*Sas 8 java sql oracle io jdbc

我有一个带有几个查询和表的ORACLE SQL sctipt,我想在程序开始时从我的java程序运行该脚本,以确保一切都在正确的位置.我发现了一个运行脚本的代码,但由于某些原因它不起作用.任何人都可以提供样品,以便我可以遵循它.

这是我发现的:

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();
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

错误

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system     
cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

Vic*_*kin 5

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

请参阅Java JDBC教程.