- PR -

javaによるsqlloaderの実行

1
投稿者投稿内容
しん
常連さん
会議室デビュー日: 2004/04/04
投稿数: 48
投稿日時: 2006-12-02 19:29
javaでsqlloaderを実行したいと思っています。できない場合は
javaからシェルプログラムを呼び出してシェルでsqlloaderの起動を
行いたいと思っています。
そこで2点質問があるのですが
1.javaでsqlloaderの実行は可能なのでしょうか?
2.javaからシェルのプログラムを呼び出し、またほその逆は可能なのでしょうか?

サンプルコードを検索してみたのですがいづれもヒットしてこなかった
のでお分かりになる方いらっしゃいましたらよろしくお願いいたします。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-04 09:12
引用:

かんたろうさんの書き込み (2006-12-02 19:29) より:
1.javaでsqlloaderの実行は可能なのでしょうか?
2.javaからシェルのプログラムを呼び出し、またほその逆は可能なのでしょうか?



できるといえばできるのですが、期待することができるかはなんともいえませんね。
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コマンドを叩くシェルを書くだけの話だと思いますが。
しん
常連さん
会議室デビュー日: 2004/04/04
投稿数: 48
投稿日時: 2006-12-06 00:43
お返事ありがとうございます。
現在、cygwinというツールでwindow上に擬似的にUNIX環境を
作っているのですがcygwinのプロンプト上では
javaコマンドにてプログラムの実行ができます。
しかし、java test というtest.javaを実行するコマンドを書いた
シェルファイルを作成してそのシェルを実行すると
"Exception in thread "main" java.lang.NoClassDefFoundError:test"
というエラーが出てしまいます。
これは単純にシェルの問題でしょうか?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2006-12-06 12:38
わたしは、エスパーではないので、
あなたがどのようなコードを書き、どのようなコマンドを打って実行したのかを予知することはできません
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-12-06 14:38
引用:

かんたろうさんの書き込み (2006-12-06 00:43) より:
シェルファイルを作成してそのシェルを実行すると
"Exception in thread "main" java.lang.NoClassDefFoundError:test"
というエラーが出てしまいます。



安直に考えればクラスパスが通っていないのではないかと。
1

スキルアップ/キャリアアップ(JOB@IT)