当前位置: 首页 > 工具软件 > JBoss JCA > 使用案例 >

oracle jboss,在jboss连接oracle

锺英彦
2023-12-01

在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的方法;

 类似资料: