在jboss中连接oralce8
说明: jboss表示你所安装的jboss的总目录,红字表示需要修改或添加的位置
一将classes12.jar驱动包粘到boss-3.2.6\server\default\lib中
二在jboss-3.2.6\docs\examples\jca的目录中找到oracle-ds.xml文件,将其粘到
jboss-3.2.6\server\default\deploy目录中
1.修改oracle-ds.xml文件中的
OracleDS
jdbc:oracle:thin:@youroraclehost:1521:yoursid
oracle.jdbc.driver.OracleDriver
x
yorg.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
改为
jdbc:oracle:thin:@135.0.0.116:1521:suncerdb
oracle.jdbc.driver.OracleDriver
sunceroa
sunceroa
(如果是配置Jboss-4.0.0,就删除以下说明)
Oracle9i
2.在jboss-3.2.6\server\default\conf目录中找到
standardjaws.xml、standardjbosscmp-jdbc.xml和login-config.xml三个文件
2.1先将其中的standardjaws.xml的标签中的内容
java:/DefaultDS
Hypersonic SQL
false
改为
java:/OracleDS
Oracle8
false
2.2再将standardjbosscmp-jdbc.xml中的
java:/DefaultDS
改为
java:/OracleDS
(如果是Jboss -4.0.0 ,就增加以下语句)
Oracle8
2.3(如果是配置Jboss-4.0.0)就无需修改此文件),最后login-config.xml中的
flag = "required">
加入的位置
加入下列标签
flag = "required">
sa
sa
jboss.jca:service=LocalTxCM,name=OracleDS
此时修改完成
三.启动Jboss后如果出现
有红字的提示则部署成功
16:27:49,630 INFO [DLQ] Bound to JNDI name: queue/DLQ
16:27:49,680 INFO [JmsXA] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=TxCM,name=JmsXA to JNDI name 'java:/JmsXA'
16:27:49,690 INFO [OracleDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=LocalTxCM,name=OracleDS to JNDI name 'java:/OracleDS'
16:27:49,910 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=file:/D:/java/jboss-3.2.6/server/default/deploy/jmx-console.war/
16:27:50,561 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=file:/D:/java/jboss-3.2.6/server/default/deploy/management/web-console.war/
四.使用从数据缓冲池中得到oracle8连接
在你的数据库类中使用下列的语句
javax.naming.Context ctx = new javax.naming.InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:/OracleDS");
即可得到一个数据源对象ds;
如在我们的sunceroa中对原来的数据库对象Database的修改为
将
Database类的private void init(String jndiName, Context ctx)方法中的
private void init(String jndiName, Context ctx)
{
try
{
String strJNDI = "java:comp/env/" + jndiName;
_ds = (DataSource) ctx.lookup(strJNDI);
}
catch (Exception e)
{
setError("init(String)", "同数据库连接池建立连接发生错误!", e);
}
}
改为
String strJNDI = "java:/OracleDS";
其它暂不用改动
五 .测试
先在sunceroa中添加一个jsp页面中可以调用Database类,作它来添加、修改和删除
如:
Database db=Database.getInstance();
String s[][]=db.executeQuery2("select * from modu");
out.println(s[1][2]);
out.println(db.executeUpdate("insert into test values(4,'new','new')"));
out.println(db.executeUpdate("update test set name='OK'"));
out.println(db.executeUpdate("delete test where id=4 "));
%>
再从Dos转到sunceroa的目录下
使用D:\eclipsePreject\sunceroa>jar cvf sunceroa.war *命令打包
将其拷贝到jboss-3.2.6\server\default\deploy目录中启动Jboss-3.2.6
在IE中输入http://127.0.0.1:8080/sunceroa/test.jsp
如果页面中出现
协同办公的普通信息管理true true true
表示成功.
配置Jboss -4.0.0的方法;