Oracle Database 11gR2 is using JVM version 1.5 and NoSQL DB is written for JDK 1.6 and higher.
So there is no possible way to write java code which contains reference to at example kvstore.jar, then compile and run it as oracle java procedure (CREATE OR REPLACE function ... language java).
Is there a chance that Oracle team produces a NoSQL DB version that would require JDK 1.5?
When I try to import kvstore.jar into Oracle like this:
loadjava -user nosqluser/nosqluser -v -resolve -force -grant public home/oracle/kvhome/kvstore.jar
I got this sort of error message:
ORA-29552: verification warning: java.lang.UnsupportedClassVersionError: oracle/kv/avro/AvroBinding (Unsupported major.minor version 50.0)
It would be useful in that case.
Suppose you want to extract a BLOB record from noSQL database. You write java function which does something like this:
1) Extract a record with the specified key.
2) Creates a temp session life LOB using default connection
3) Pumps NoSQL BLOB's InputStream to oracle.sql.BLOB
4) Returns oracle.sql.BLOB
A user performs SELECT getBLOB(1000) and then gets BLOB locator which is pointing at 2GB temp LOB.
A user can get BLOB from a file on file system using writtened oracle java functions,
but he can not do that this way using Oracle NoSQL libraries because of that error.