- - PR -
javaによるsqlloaderの実行
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-02 19:29
javaでsqlloaderを実行したいと思っています。できない場合は
javaからシェルプログラムを呼び出してシェルでsqlloaderの起動を 行いたいと思っています。 そこで2点質問があるのですが 1.javaでsqlloaderの実行は可能なのでしょうか? 2.javaからシェルのプログラムを呼び出し、またほその逆は可能なのでしょうか? サンプルコードを検索してみたのですがいづれもヒットしてこなかった のでお分かりになる方いらっしゃいましたらよろしくお願いいたします。 | ||||
|
投稿日時: 2006-12-04 09:12
できるといえばできるのですが、期待することができるかはなんともいえませんね。 Javaから外部プロセスを起動するのはさほど難しくはなく、Runtime.exec()で行えます。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Runtime.html#exec(java.lang.String, java.lang.String[]) 起動した後の連携がやや難のあるところですが、 exec()で取得したProcessオブジェクトからgetInputStream()やgetOutputStream()で 標準入出力は得られますのでその範疇でできることはできますよ。 2.シェルからJavaを起動ってのはいつもやっていることではないですか? Javaコマンドを叩くシェルを書くだけの話だと思いますが。 | ||||
|
投稿日時: 2006-12-06 00:43
お返事ありがとうございます。
現在、cygwinというツールでwindow上に擬似的にUNIX環境を 作っているのですがcygwinのプロンプト上では javaコマンドにてプログラムの実行ができます。 しかし、java test というtest.javaを実行するコマンドを書いた シェルファイルを作成してそのシェルを実行すると "Exception in thread "main" java.lang.NoClassDefFoundError:test" というエラーが出てしまいます。 これは単純にシェルの問題でしょうか? | ||||
|
投稿日時: 2006-12-06 12:38
わたしは、エスパーではないので、
あなたがどのようなコードを書き、どのようなコマンドを打って実行したのかを予知することはできません | ||||
|
投稿日時: 2006-12-06 14:38
安直に考えればクラスパスが通っていないのではないかと。 |
1