WebSphere中的Oracle数据源设置
------JSP 和Oracle数据库的连接
Oracle是目前国际上最为流行的关系型对象数据库,已经成为大,中型管理信息系统的首选数据库产品;而JAVA语言天生跨平台,加上“一次编写,到处运行”以及安全保障等特性,因而以JAVA语言为基础的JSP深得后端应用程序开发者厚爱。无疑JSP和Oracle的完美结合为我们开发服务器端数据库应用程序提供了最佳的选择。
SUN公司为JSP连接数据库的JDBC技术提供了四种类型的驱动,在JSP连接Oracle的实际操作中,我们经常会遇到各种难题,却无成下手。在此,我将介绍在Pure java JDBC Driver类型中数据源的设置问题。
在进行Oracle数据源的设置前,必须将Oracle驱动加载到ClassPath目录中 ,其后在应用程序中就可以进行驱动程序的加载 :
Class.forName(“oracle.jdbc.driver.OracleDriver”)
在进行Oracle驱动程序加载到ClassPath目录时,有以下几种方法:
1. 添加驱动程序包(classes111.zip)到classpath变量中
2. 将驱动程序(如:classes111.zip)复制到<JAVAHOME>\jre\lib\ext目录,并改名为*.jar.(如果没有该名,没有作用)
―――websphere中为D:\WebSphere\AppServer\java\jre\lib\ext
3. 将classes111.zip解压后的oracle目录复制到classes目录
注意:不要将两种驱动类同时加载(classes111.zip和classes12.zip)
为了操作数据库,必须获得一个连接对象的实列,JDBC驱动为JSP连接Oracle数据库提供了三种获得连接实列的方式:
1. JDBC OCI :Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@<database>", user, password);
2. JDBC Thin :Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@IP:port:<database>",user,password);
3. JDBC KPRB:Connection conn = DriverManager.getConnection ("jdbc:oracle:kprb:")
其中JDBC OCI主要用户本地数据库连接,而JDBC KPRB用于服务器端数据库连接(如:存储过程),database,user,password为相应的数据库SID,用户名和密码
注意: Oracle正试图通过一种新的service途径来代替SID定位数据库,自Oracle 8.1.7后,已经实现了这种连接。因此其获得实列方式为:
jdbc:oracle:thin:[<user>/<password>]@//<host>[:<port>]/<service>
Statement对象用于将SQL语句发送到数据库中,而ResultSet用于取得数据库的结果集:
Statement stmt=conn.createStatement() ;
ResultSet rs=stmt.executeQuery(sql);
在JDBC提供的类中,classes102.zip 用户jdk1.0.2的支持,classes111.zip用于jdk1.1.1的支持而classes12.zip 用于jdk1.2的支持,不过classes102.zip和classes12.zip同样可以支持jdk1.3不过在oracle9.02中引入了新的支持jdk1.4的类ojdbc1.4.jar.
程序说明:在应用程序中通过引用javabean来设置数据库名,用户名,用户密码,ip。后调用excuteUpdate()来更新数据库,excuteQuery()来查询数据库。
参考书籍:
1.《JSP应用开发详解》 电子工业出版社
2.Oracle8.1.5 和Oracle9.0.2 JDBC说明文档