0

Javaプログラムで実行したいこのSQLスクリプトがあります。これは、dropper_id、to_char(begin_dt)、to_char(end_dt) の 3 つのパラメーターを取ります。どうすればいいですか?

プログラムは Unix サーバー上に保持されます。

sql スクリプトも Unix サーバーにあります。

コマンドラインでプログラムを実行したいのですが、パラメータを指定して実行するにはどうすればよいですか?

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

2 に答える 2

1

一般に、Java アプリケーションでデータベース コマンドを実行する正しい方法は、 JDBCまたはHibernateなどのさらに高レベルの ORMを使用して Java ベースのデータベース接続を使用することです。これらは多くの理由で好まれますが、最も重要なのは、外部コマンドよりもはるかに簡単にエラー パスを報告および処理できるためです。

ただし、JDBC を使用しない理由がある場合は、この質問How To Execute Native Commands In Java?で説明されているように、ProcessBuilder を使用できます。

于 2012-02-20T18:26:39.757 に答える
1

JDBC と PreparedStatement を使用してそれを行うことができます。次のチュートリアルを参照してください。

ここではいくつかの例を示します。

Java アプリケーションと SQL の両方が同じサーバーにある場合は、上記のようにロードして実行するだけです。ここで例を参照してください:

SQL を実行するだけの場合 (つまり、アプリケーションの全体的な目的はその SQL を実行することであり、他に何もしない場合)、タスクに Ant を使用するなどの代替ソリューションを検討することをお勧めします。これを参照してください。

または、データベース コマンド ライン ユーティリティを使用する場合は、次の例を参照してください。

これはあなたの状況に大きく依存するので、あなたのケースで何が重要かを見て、どちらの道を選ぶかを決める必要があります.

于 2012-02-20T18:20:55.597 に答える