【问题标题】:How to execute sql script file in java in Unix如何在Unix中的java中执行sql脚本文件
【发布时间】:2012-02-20 18:19:04
【问题描述】:

我有这个 sql 脚本,我想在 java 程序中执行。它有 3 个参数:dropper_id、to_char(begin_dt)、to_char(end_dt)。我该怎么做?

程序保存在 Unix 服务器上。

sql 脚本也位于 Unix 服务器上。

我想我很可能想通过命令行执行程序,但是如何使用参数执行它?

Process p = Runtime.getRuntime().exec ("psql sql_script.sql");

【问题讨论】:

    标签: java sql unix sql-scripts


    【解决方案1】:

    您可以使用 JDBC 和 PreparedStatement 做到这一点,请参阅这些教程:

    这里有一些例子:

    如果您的 Java 应用程序和 SQL 都位于同一台服务器上,那么您只需要加载它并按照上面给出的执行。在此处查看示例:

    如果它只是运行 SQL(即,您的应用程序的全部目的是运行该 SQL 并且什么都不做),您可能需要查看替代解决方案,例如使用 Ant 执行任务,请参阅:

    或使用您的数据库命令行实用程序,请在此处查看一些示例:

    这在很大程度上取决于您的情况,因此您必须查看对您的情况重要的内容才能决定走哪条路。

    【讨论】:

    • sql脚本也位于Unix服务器上,不在数据库中
    【解决方案2】:

    一般来说,在 Java 应用程序中执行数据库命令的正确方法是使用基于 Java 的数据库连接,使用 JDBC 或更高级别的 ORM,例如 Hibernate。出于多种原因,这些是首选,最重要的是因为它们可以比外部命令更容易地报告和处理错误路径。

    但是,如果您有理由不使用 JDBC,则可以使用 ProcessBuilder,如本问题 How To Execute Native Commands In Java? 中所述

    【讨论】:

      猜你喜欢
      • 2011-01-05
      • 2020-04-18
      • 2020-08-14
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 2017-06-19
      • 2019-05-26
      • 2012-03-29
      相关资源
      最近更新 更多