这段时间为公司内部的数据处理开发了一个工具,牵涉到在Oracle中集成java应用,总结了一些经验,以供大家参考了! 程序分两部分,前端界面由VB/VC开发,主要实现数据处理配置及常规记录运算,这部分没有什么好说的了。 后台以Oracle为数据基础处理托管平台,
这段时间为公司内部的数据处理开发了一个工具,牵涉到在Oracle中集成java应用,总结了一些经验,以供大家参考了!
程序分两部分,前端界面由VB/VC开发,主要实现数据处理配置及常规记录运算,这部分没有什么好说的了。
后台以Oracle为数据基础处理托管平台,在数据处理过程中,需要对一些名称、地址什么的进行摘要提取、拆分等等。这部分是以java实现的,loadjava到Oracle中做成相应的处理函数。
在这里,如何在Oracle中集成java大家可以在网上轻松找到,这里就不详细说明了。主要着重说明一些需要注意的细节:
1:在loadjava的时候,最好加上“-genmissing”参数,这样,在对应的jar或java文件上传后,Oracle会马上加载每个类,如果有错误,会马上在命令行中详细列出,从而避免了在运行中出错。运行中出错有时候报错信息很粗陋,很难排查!
2:如果在java程序中牵涉到对系统环境变量、磁盘、IO通道等资源的读写,一定要先给相关用户授权,一般如下:
3:java代码的版本:9i数据库只支持jdk1.3,10g支持1.4,11g以上的才支持jdk1.5,所以如果采用泛型、enum等特性的java代码只能在11g上用,如果实际生产系统中必须使用10g以下的版本,又不想对代码进行大规模修改的话,可以采用“retrotranslator”这个开源工具对jdk1.5以上的类进行1.4兼容处理。关于这方面的内容,可以参考:http://www.ibm.com/developerworks/cn/java/j-jtp02277.html?s_cmp=techccid&s_tact=105agx52
"retrotranslator"的站点:http://retrotranslator.sourceforge.net/
一般的用法:
java -jar retrotranslator-transformer-1.2.9.jar -srcjar M:/Develop/WordSimilarity/dist/WordSimilarity.jar -destjar M:/Develop/WordSimilarity/dist/WordSimilarity14.jar -embed com.navinfo.transformer
4:被集成为Oracle函数的功能,如分词等,一定要设置为全局static,这样可以防止重复加载,提高处理效率