ORACLE数据库应用很广泛,市场销售量一直占前几位,许多企业的MIS、IT系统都以ORACLE数据库作为数据存储基础,数据库中存储了包括财务、库存、人事、生产等一系列信息,信息量非常大,将ORACLE数据库的信息加到网页中,可以大大地丰富网页发布的信息,使我们的网页既能发布实时、复杂的数据库信息,又能接收客户机对数据库的修改信息。关于数据库与WEB服务怎样结合、网页怎样从浩瀚的数据库中存取数据,解决的方法有很多,各有利弊,本人向大家推荐的是ORACLE公司在因特网 WEB服务方面的一些产品,相信大家在建自己的网页的时候,参考以下介绍,会有新的感觉,那就是轻松、快捷、方便。
其一:对于不喜或不善编程的人,可以用 ORACLE8 的WEB Publishing Assistant。ORACLE8 WEB Publishing Assistant能够帮助我们发布要与领导、同事、合作伙伴等其它人共享、或告之它人的数据库中动态报表信息,只需跟随它的Wizard进行操作,发布查询结果的WEB文档 HTM文件及JAVA类就产生了,并能根据要求不断更新HTM文件。而此HTM文件就可以与主页链接,为主页服务了。
在因特网上发布数据库中按某一条件查询结果的静态信息比较容易办到(可以先查询,然后将结果写入HTM文件中,要发布动态信息则要编程实现,这对不熟悉 CGI (Common Gateway Interface)、JAVA APPLET小程序的人来说是很费力的,让我们来跟随WEB Publishing Assistant Wizard 的提示输入查询条件(SELECT 语句),查询结果更新频率(数据变化时、每天、每周等)等参数后,WEB Publishing Assistant 就按照查询条件进行查询,并用查询结果生成HTM文件,而此文件就可以发布查询结果给客户机,因为数据库中数据是不断变化的,所以此查询结果会过时,为了跟上数据的变化,WEB Publishing Assistant就根据查询结果更新频率从新进行查询,并刷新HTM文件,使它发布的信息永远是最新的。
ORACLE8 WEB Publishing Assistant有非常良好的用户界面,而且操作简单方便,一切操作只要跟随向导(Wizard)来进行,用户只要熟悉自己的数据库表的结构,即可得到一发布动态查询结果的HTM文件,可将此文件在网上直接发布,也可将它链接到网站的主页上,使主页具有数据库查询功能。 WEB Publishing Assistant 可在ORACLE8 FOR NT 的安装盘上得到,也可从网上HTTP://WWW.ORACLE.COM 站点下载,运行在WINDOWS NT WORKSTAION 或SERVER 4.0上,要求有本地或远地的ORACLE8数据库及NET8服务。
其二:对于有JAVA编程经验的人,可以编写JAVA APPLET小程序,在APPLET小程序中引用JDBC thin driver,它是由ORACLE公司提供的JAVA与数据库接口的JDBC类包,实现网页跟ORACLE数据库联接(CONNECT),然后对库中表(TABLE)进行查询修改、插入、删除等操作。用此方法不仅能与人共享数据库的信息,而且为客户端提供了修改数据库的操作,这样网站与远地客户机就可以灵活地交换信息。
JAVA语言以它的平台无关性成为因特网上获取、处理信息的最佳程序设计语言,而且在JAVA环境中使用网络功能是比较容易的。从JAVA 应用来说, 有应用程序APPLICATION和小程序APPLET 两种:JAVA APPLICATION类似传统C/S方式,运行在CLIENT端;JAVA APPLET直接包含在HTM文件中,跟主页透过浏览器到处跑,所以网页制作所用的就是JAVA APPLET,它为网页增加了一般HTM文件所没有如动画、声音、动态数据等神奇的效果。
而JAVA对数据库的访问则是要按照JDBC(Java Database Connectivity)规范来编写,JDBC有四种与数据库相连的方法,这里就不一一详细赘述,相信读者可以查到有关资料。ORACLE公司提供的JDBC有TYPE2(JDBC-OCI driver)与TYPE4(thin driver)。制作网页要用的是thin driver,而不是(JDBC-OCI driver),因为后者不具备平台独立性。
ORACLE以Java Socket为基础,根据本厂家数据库网络传送协议用Java完全实现所有调动传递,这样的JDBC是专有的,ORACLE称之为thin driver。此产品可在ORACLE主页上(http://www.oracle.com)下载。Thin driver不需要客户机安装有ORACLE Client端程序,具有良好的平台独立性,所以适用于网页制作。有了thin driver ,APPLET小程序不再只能为网页增加动画、声音等,APPLET小程序调用Java.sql.* 类包,可实现与ORACLE数据库的联接(CONNECT),从而查询、修改、增加数据库中表(TABLE)的内容,而包含这样小程序的网页就可以发布数据库查询结果,让远地客户机存取数据库,实现如远地登记、定货、股票交易操作等功能。这些功能大大地拓宽了网页的表现能力及应用领域。当然,网页访问数据库也有其它的一些方法,如上面所提到的CGI,但由于CGI程序驻留在服务器上,以文件方式传输数据,所以存在效率低,速度慢等一系列缺点,而Java applet方式没有这些缺点,一定会有很大的发展前途,成为网页制作者们的新宠。
那么,APPLET小程序如何使用ORACLE thin driver来实现存取数据库呢?首先在存取数据库之前,必须完成以下三步:
... ...
完成以上三步,就建立了一个通往数据库的桥梁,此后就可以对数据库进行查询、删除、修改等操作。
下面通过实例说明:
... ...
本例执行了从SID为WZGL的数据库的SCOTT的EMP表中查询姓名的操作,读者还可以修改程序的 “// 查询的语句串 ” 部分,如改成 INSERT INTO EMP VALUE(。。。)、DELETE FROM EMP WHERE。。。、UPDATE EMP SET 。。。等等SQL语句,完成插入、删除、修改等操作。
以上浅谈了用thin driver 编制applet小程序的方法,主页制作时用此方法不难实现对ORACLE数据库的存取,其中也有许多细节,如HTM文件中要指明ORACLE类库文件的位置,ORACLE类库与Applet小程序在同一目录等环境设置,还要注意ORACLE数据库数据类型与JAVA数据类型匹配、转换问题等,这些问题希望大家在实践中注意,就可以少走弯路,以上介绍中使用Java工具是JDK 1.1.1版本,运行在IE4.0或Netscape4.0上。
Oracle公司又推出了一套可视化开发工具JDeveloper,它的核心是Inprise公司的JBuilder,JDK版本为1.1.4,包含了thin driver,并提供了一系列数据库控制和开发模板向导,帮助开发人员快速设计出界面,这对我们开发网页图形界面的数据库应用来说非常有用。