To be able to use completely ZipEntries function, 11.1.0.6 will have to be patched to at least 11.1.0.7. Once done, everything will be completely fine (i did test it by myself).
I provide you Metalink details :
This problem is encountered when trying to access an NVARCHAR2 using a TABLE function in PL/SQL. ORA-12714: invalid national character set specified due to error bug fixed in 11.1.0.7 (Server Patch Set) : Subject: Bug 6029647 - ORA-12714 accessing typed column from TABLE() function Range of versions believed to be affected Versions < 11.2 Fixed: 11.1.0.7 (Server Patch Set) Patch no 6890831 => Sucess Test is OK 11.2 (Future Release)
"Jacksum supports 58 popular standard algorithms (Adler32, BSD sum, Bzip2's CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1, Whirlpool and xor8). "
"Jacksum supports the "Rocksoft (tm) Model CRC Algorithm", it can calculate customized CRC algorithms (all from 8 bit to 64 bit) and it supports the combination of multiple algorithms. Due to those features, millions of different new algorithms are possible. "
Since today, you are for example able to generate edk links from a dumped BLOB and provide the edk url on APEX to create a P2P sharing model of database contents, and many other cool stuff, within a very few number of lines (a single line of code is required to generate the edk url, have a look at test_JDBMS_JACKSUM to see how.
I have used the 7zip LZMA SDK v4.65
For people hwo do master the LZMA algorithm, you have the handle to set your own compression parameters, the one used in the LzmaAlone class. I did inherite from LzmaAlone class so thins are clean, and so you can get documentation straight from there, in all cases, if you want to deal with custom command line switches, have a look at the JDBMS_COMPRESS package source code or at the JDBMS_COMPRESS section in this documentation.
You have only have to reload the oracle-jutils.jar file for this upgrade and of course re-compile the PL/SQL packages.
loadjava -u OJUTILS/OJUTILS -resolve lib/jmimemagic-0.1.0.jar loadjava -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar.. and of course re-compile related PL/SQL packages (JDBMS_CHECKSUM, JDBMS_JACKSUM). On this specific topic, help is welcome to enhance the magic.xml file with new mime types, such a donation would be greatly appreciated.
To patch upgrade, just do :
cd $OJUTILS_HOME loadjava -u OJUTILS/OJUTILS -resolve lib/jmimemagic-0.1.0.jar loadjava -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar cd doc cd files sqlplus OJUTILS/OJUTILS spool patch_05072009.log @install_JDBMS_COMPRESS.sql @install_JDBMS_CHECKSUM.sql spool off exit
Mainly, in this release, i've added the LIST_FILES (to list directory contents in a relational way) pipelinded table function. So from now, we are able to list directory like :
select * from table(LIST_FILES(iDirectory => 'H:\Incoming', ...
And get in return the list of files with their properties (Last Modified Date, privileges, hash, mime types, ... and all the properties i could grap from Java) in a relational way. Have a look at the JDBMS_FILESYSTEM screenshots as the output is really cool : you can now make crossed reports between your os files and relational content thanks to a simple join.
I've also started to implement JDBMS_FILESYSTEM package to interact with the filesystem from Oracle.
To patch upgrade, just do :
cd $OJUTILS_HOME loadjava -u OJUTILS/OJUTILS -resolve lib/jmimemagic-0.1.0.jar loadjava -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar cd doc cd files sqlplus OJUTILS/OJUTILS spool patch_LATEST.log @install_JDBMS_FILESYSTEM.sql spool off exit
select JDBMS_JACKSUM.GET_CHECKSUM(nvl(NULL, empty_blob()), 'crc32', 8,--JDBMS_JACKSUM.ENCODING_HEX_UPPERCASE null,--separator '#CHECKSUM',-- put a standard output format -1, null) as CRC32 from dual;
was throwing the exception. Now, it returns a NULL checksum.
In this release i did especially focus on pipelined functions around Twitter functionalities. I had to denormalize some outputs to make the functions easy to use in real situations. I think to add later other simple functions, but i'm pretty convinced that this release make a real step in Twitter features inside Oracle. If one function is missing or that you would like to be added, please do not hesitate to contact me, i'll be glad to add it. And in all cases, any feedback is always welcome. Have fun Twitter from Oracle.
select * from table(TWITTER_STATUS(NULL, 'YOUR_LOGIN', 'YOUR_PASSWORD', 'dcmomo'))
This is a little release around Twitter (send Message) and Compression (added gzip format) :
To upgrade from previous version, just run
-- As OJUTILS cd $OJUTILS_HOME/doc/files sqlplus OJUTILS/OJUTILS @install_JDBMS_COMPRESS.sql sqlplus OJUTILS/OJUTILS @install_JDBMS_TWITTER.sql cd $OJUTILS_HOME loadjava -v -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar
Then you are ready to gzip BLOBs and send Twitter messages.
To patch from previous version :
cd $OJUTILS_HOME loadjava -v -u OJUTILS/OJUTILS -resolve lib/log4j-1.2.16.jar loadjava -v -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar cd doc/files sqlplus OJUTILS/OJUTILS @install_JDBMS_COMPRESS.sql
This release is focused on JDBMS_QRCODE package, and first of all the feature that allows to decode QrCode from the image, without any call to google (no internet connexion required). zxing project is used to decode QrCodes.
To patch from previous release, just :
-- As OJUTILS cd $OJUTILS_HOME/doc/files sqlplus OJUTILS/OJUTILS @install_JDBMS_QRCODE.sql cd $OJUTILS_HOME loadjava -v -u OJUTILS/OJUTILS -resolve dist/oracle-jutils.jar