欢迎来到天天文库
浏览记录
ID:38167462
大小:17.95 KB
页数:10页
时间:2019-06-06
《PLSQL程序嵌入JAVA程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、众所周知,目前在国内最流行的开发语言是JAVA语言,虽然国外有更多流行的开发语言,JAVA仅是百花齐放中的一朵。但对国内而言JAVA在近段时期内仍占据霸主地位,国内的开发水平一直是在应用级别,而非研究级别。国内有着华丽外衣的程序猿们也只是码农的级别,这也是导致大部分软件企业偏重于业务及架构人才。 09年SUN被ORACLE收购,也是否代表着JAVA衰落的开始,事实应该并非吧。SUN公司的主打是大型服务器,JAVA只是SUN公司的附带产品,更说白了初始只是一个码农JamesGosling的想法。其实从ORACLE
2、8版本开始,ORACLE开始提供对JAVA的支持,随后的版本则继续增强了ORACLE数据库的JAVA性能,在ORACLE8I开始支持用JAVA编写存储过程。 PLSQL存储过程在数据处理方面确实是个卓越的创新,因为在以往的单会话状态下,每次执行只能支持单个SQL语句。初做JAVA时,数据库从来都是被当做黑盒在使用,后来才知道有存储过程这个东东,在做JAVA开发时候只是通过CallableStatement接口来调用过存储过程,也写过几个比较简单的存储过程。后来做ORACLE数据库开发,过了最初上路的煎熬,慢慢的
3、拆卸了下数据库这个黑盒的一部分。后来无意中看到一个简单的程序,HelloWorld这个应该是每个JAVA码农们的初恋吧,再回忆下这个println吧packagepra;/***java学习*@authorhehe*@versionpractise*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!"); }}也再回忆下当时很牛X,现在还依然感觉很酷的纯命令编译程序吧编译带包的jav
4、a类(以包名为pra,类名为HelloWorld为例):javac-d.HelloWorld.java运行带包的类:javapra.HelloWorld生成API文档(生成在docs文件夹下):javadoc-d .docsHelloWorld.java生成带相应描述的API文档:javadoc-version-author -d .docsHelloWorld.java打jar包:jar-cvfpra.jar解压jar包:jar-xvfpra.jar运行jar包中的类:java-classpathpra.j
5、arpra.HelloWorld或者java-cppra.jarpra.HelloWorld在介绍PLSQL中嵌入JAVA程序编译输出HelloWorld之前,对钟爱于JAVA的码农们说句话:"JAVA的魅力依旧是ORACLE取代不了的"1.下面是个简单的PLSQL程序嵌入JAVA类并编译输出的代码。CREATEORREPLACEANDCOMPILEJAVASOURCENAMEDHELLOWORLDASpublicclassHelloWorld{ publicstaticStringentry() { retur
6、n"HelloWorld!"; }}CREATEORREPLACEFUNCTIONFU_HELLOWORLDRETURNVARCHAR2ASLANGUAGEJAVANAME'HelloWorld.entry()returnjava.lang.String';SELECTFU_HELLOWORLDFROMDUAL;2.PLSQL对数据的强大处理功能是毋庸置疑的,但在应用级别还是有居多限制,不过ORACLE官方提供了许多功能还不错的内置包。现在先来介绍下后续功能的核心包UTL_FILE,ORACLE提供的内置包,包含多
7、种过程及方法,可以实现目录(DIRECTORYORACLE不能访问操作系统级的文件夹,需要创建特定目录才能够访问)下的文件读取写入,具体实现加密,无从了解其实现原理,其应用可以与JAVA中的基本流比照。其功能有极大限制,但是可以实现基本的文件读取写入等操作。前段时间写了个东东,代码如下,GGMM们可以瞧下,消遣下。--创建配置表DECLARE --action:创建存储目录文件表 --author:hehe --date:2014-01-23 V_COUNT NUMBER(2); V_SQL
8、 VARCHAR2(32767);BEGIN --判断表存在 SELECTCOUNT(*)INTOV_COUNTFROMUSER_TABLESWHERETABLE_NAME='T_DIRLIST'; IFV_COUNT=1THEN --如果存在DROP掉 EXECUTEIMMEDIATE'DROPTABLET_DIRLIST'; ENDIF; --如
此文档下载收益归作者所有