Groovy StoredProcedure

、というのを思いついた。きっとすでに考えている人もいるに違いない?? いるかな。

手元にはまだOracle8iしかない。10gとかを試す環境もない。のでまだ試していない*1

8iの知識を元に話すと、loadjavaを使ってGroovyおよびそのdepsを全てライブラリロードする。この上でこんな感じのストアドをgroovyに書く。

class StoredPack1 {
  someFunc(a, b) {
    sql = Oracle.getSqlInstance()
    sql.eachRow("select hoge, fuga from table") {
      .
      .
    }
  }
}

これもコンパイルしてloadjava。あとはコールスペックの書き方がポイントな気がするが、そんなにメチャ高いハードルではないような気がする。うーん、これってもし可能なら結構アリな気がする。

Oracle8iのJServerをj2se1.4以降で動くようにはできないもんなんすか?試してみたい。。



何も考えず試してみた。

    ORA-29545: クラスの形式が不正です:

ごもっとも。$result = (orz | _| ̄|○);



そしてネットで拾い物

[excerpt from http://forums.oracle.com/forums/thread.jsp?forum=65&thread=28926&message=779938]

That's because the JVM in Oracle 8i is version 1.2.2.

Apparently the Oracle 10g JVM is version 1.4

The Oracle 9i JVM is version 1.3.1

Good Luck,
Avi.

aarrggghh. 9iですら1.3.1ですと??

これではストアドでSeasarやgroovyが使えないではないか!! (使うなって? でもgroovyはナイスだと思うんだけどなあ.. > stored)

*1:8iはJ2SEのバージョンが1.4以降ではないような気がするので怖くて試してない.groovyって1.4以降だったはず