c:\Users\じぶん

技術ネタ半分、日記半分ですかね。

PL/SQL以外のストアドプロシージャ その1

Oracle Databaseは標準ストアドプロシージャ言語として、PL/SQLという独自言語を採用しています。SQL ServerだったらTransact-SQLですね。 Oracle DatabaseはPL/SQL以外の言語で作ったプログラムをストアドプロシージャとして扱う機能があり、具体的にはJavaと.Net(VB.NetC#)で書かれたプログラムをPL/SQLのようにSQLから呼び出して利用する事が可能です。(.NetについてはWindows限定:.Net戦略が多OS路線になりましたので変わるかもしれませんが、それはまだまだ先の話)

Java言語で書かれたプログラムであれば、WindowsでもUNIXLINUX)でも同じように実行可能です。具体的にはOracle Databaseと同時インストールされるJava仮想マシン(JVM)上で実行されます。使われるJVMOracle Homeにあるものになりますので、11gであれば、J2SE5.0(1.5)とちょっと古めになります。

また、利用するためには該当のDatabaseインスタンスJVMを利用するような設定が必要です。DBCAで後付け設定も可能ですが、カタログSQLが走りますので、既存環境を壊しかねません。最初から設定しておいた方が無難でしょう。

f:id:yukkesan:20150703133311p:plain

何回かに分けてJavaストアドについて書いてみます。