PL/SQL以外のストアドプロシージャ その1
Oracle Databaseは標準ストアドプロシージャ言語として、PL/SQLという独自言語を採用しています。SQL ServerだったらTransact-SQLですね。 Oracle DatabaseはPL/SQL以外の言語で作ったプログラムをストアドプロシージャとして扱う機能があり、具体的にはJavaと.Net(VB.NetかC#)で書かれたプログラムをPL/SQLのようにSQLから呼び出して利用する事が可能です。(.NetについてはWindows限定:.Net戦略が多OS路線になりましたので変わるかもしれませんが、それはまだまだ先の話)
Java言語で書かれたプログラムであれば、WindowsでもUNIX(LINUX)でも同じように実行可能です。具体的にはOracle Databaseと同時インストールされるJava仮想マシン(JVM)上で実行されます。使われるJVMはOracle Homeにあるものになりますので、11gであれば、J2SE5.0(1.5)とちょっと古めになります。
また、利用するためには該当のDatabaseインスタンスでJVMを利用するような設定が必要です。DBCAで後付け設定も可能ですが、カタログSQLが走りますので、既存環境を壊しかねません。最初から設定しておいた方が無難でしょう。
何回かに分けてJavaストアドについて書いてみます。