Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java EE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 jboss中配置ejb开发sql server 出错,请高手进来帮帮忙?
skyandfly





发贴: 17
积分: 0
于 2006-01-03 03:05 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我通过下面的方法配置的:
1. 数据源的配置:

在JBoss 3.2.1中,配置数据源的步骤很简单,JBoss 3.2.1本身带了主流数据库的配置实例,于目录下:C:\jboss-3.2.1_tomcat-4.1.24\docs\examples\jca。具体使用哪个配置文件取决于目标用户的数据库。如果是SQL Server 2000,则需要使用mssql-ds.xml文件(支持本地事务)或者mssql-xa-ds.xml文件(支持全局事务);如果是Oracle 9i数据库,则需要使用oracle-ds.xml文件或者oracle-xa-ds.xml文件等。这里以SQL Server 2000为例。

首先将mssql-ds.xml文件拷贝到目录:C:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy下。然后打开文件,并作如下修改:
<datasources>
<local-tx-datasource>
<jndi-name>VSSDB</jndi-name>
<connection-url>jdbc:microsoft:sqlserver://125.16.45.158:1433;DatabaseName=DDD
</connection-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<user-name>sa</user-name>
<password>sa</password>
<min-pool-size>50</min-pool-size>
<max-pool-size>200</max-pool-size>
</local-tx-datasource>
</datasources>
其中,java:/VSSDB中的VSSDB就是mssql-ds.xml配置的数据源;而“java:/”前缀表明该命名空间只是对JBoss本身可见,即运行于JBoss外的应用是不能够使用这里定义的数据源,这一点希望注意。
如果目标J2EE应用只需要本地事务,则上述过程已经完成了Datasource的配置,同时这个配置将用于JDBC以及EJB通过JNDI使用。如果要实现EJB使用Datasource,则还需要修改位于目录:C:\jboss-3.2.1_tomcat-4.1.24\server\default\conf下的standardjbosscmp-jdbc.xml文件。比如:
<jbosscmp-jdbc>

<defaults>
<datasource>java:/VSSDB1</datasource>
<datasource-mapping>MS SQLSERVER2000</datasource-mapping>

<create-table>true</create-table>
<remove-table>false</remove-table>
<read-only>false</read-only>
<time-out>300</time-out>
<pk-constraint>true</pk-constraint>
<fk-constraint>false</fk-constraint>

其次,MS SQLSERVER2000中的MS SQLSERVER2000可以在该文件的其他地方找到。(如果是其他数据库,情况都是类似的)

如果应用涉及到第三方类库,比如JDBC Driver,则可以将这些JDBC Driver存放到目录下:C:\jboss-3.2.1_tomcat-4.1.24\server\default\lib。

可是我在读取数据库时且出现一下错误:
20:36:28,681 INFO [STDOUT] java.sql.SQLException: Table not found: CATEGORIES i
n statement [select * from Categories]
20:36:28,691 INFO [STDOUT] at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown S
ource)
20:36:28,691 INFO [STDOUT] at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(
Unknown Source)
20:36:28,691 INFO [STDOUT] at org.hsqldb.jdbc.jdbcConnection.prepareStateme
nt(Unknown Source)
20:36:28,691 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.BaseWrapperMa
nagedConnection.prepareStatement(BaseWrapperManagedConnection.java:374)
20:36:28,691 INFO [STDOUT] at org.jboss.resource.adapter.jdbc.WrappedConnec
tion.prepareStatement(WrappedConnection.java:217)
20:36:28,691 INFO [STDOUT] at bean.synch.OpSession.getUser(OpSession.java:1
02)
20:36:28,691 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method)
20:36:28,691 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(N
ativeMethodAccessorImpl.java:39)
20:36:28,691 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invo
ke(DelegatingMethodAccessorImpl.java:25)
20:36:28,691 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:3
24)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.StatefulSessionContainer$Contai
nerInterceptor.invoke(StatefulSessionContainer.java:982)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.SecurityInterceptor.inv
oke(SecurityInterceptor.java:111)
20:36:28,691 INFO [STDOUT] at org.jboss.resource.connectionmanager.CachedCo
nnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.StatefulSessionInstance
Interceptor.invoke(StatefulSessionInstanceInterceptor.java:273)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.AbstractTxInterceptor.i
nvokeNext(AbstractTxInterceptor.java:84)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.TxInterceptorCMT.runWit
hTransactions(TxInterceptorCMT.java:315)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.TxInterceptorCMT.invoke
(TxInterceptorCMT.java:148)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.LogInterceptor.invoke(L
ogInterceptor.java:191)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.plugins.ProxyFactoryFinderInter
ceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.StatefulSessionContainer.intern
alInvoke(StatefulSessionContainer.java:449)
20:36:28,691 INFO [STDOUT] at org.jboss.ejb.Container.invoke(Container.java
:709)
20:36:28,701 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method)
20:36:28,701 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(N
ativeMethodAccessorImpl.java:39)
20:36:28,701 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invo
ke(DelegatingMethodAccessorImpl.java:25)
20:36:28,701 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:3
24)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.ReflectedDispatcher.dispa
tch(ReflectedDispatcher.java:60)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invoc
ation.java:62)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.Invocation.dispatch(Invoc
ation.java:54)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.Invocation.invoke(Invocat
ion.java:82)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.AbstractMBeanInvoker.invo
ke(AbstractMBeanInvoker.java:197)
20:36:28,701 INFO [STDOUT] at org.jboss.mx.server.MBeanServerImpl.invoke(MB
eanServerImpl.java:473)
20:36:28,701 INFO [STDOUT] at org.jboss.invocation.jrmp.server.JRMPInvoker.
invoke(JRMPInvoker.java:360)
20:36:28,701 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(
Native Method)
20:36:28,701 INFO [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(N
ativeMethodAccessorImpl.java:39)
20:36:28,701 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invo
ke(DelegatingMethodAccessorImpl.java:25)
20:36:28,701 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:3
24)
20:36:28,711 INFO [STDOUT] at sun.rmi.server.UnicastServerRef.dispatch(Unic
astServerRef.java:261)
20:36:28,711 INFO [STDOUT] at sun.rmi.transport.Transport$1.run(Transport.j
ava:148)
20:36:28,711 INFO [STDOUT] at java.security.AccessController.doPrivileged(N
ative Method)
20:36:28,711 INFO [STDOUT] at sun.rmi.transport.Transport.serviceCall(Trans
port.java:144)
20:36:28,711 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport.handleMess
ages(TCPTransport.java:460)
20:36:28,711 INFO [STDOUT] at sun.rmi.transport.tcp.TCPTransport$Connection
Handler.run(TCPTransport.java:701)
20:36:28,711 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534)

他说找不到该表,可是这个表我已经创建了的呀!
但是当我通过这个ejb建一个表,然后在从这个表中读取数据则可以,这是怎么回事情??


skyandfly edited on 2006-01-03 03:07


JAVA学习日子分享

话题树型展开
人气 标题 作者 字数 发贴时间
6795 jboss中配置ejb开发sql server 出错,请高手进来帮帮忙? skyandfly 6477 2006-01-03 03:05
5408 Re:jboss中配置ejb开发sql server 出错,请高手进来帮帮忙? why 1153 2006-01-03 03:25

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923