NoClassDefFoundError: oracle/sql/ClobDBAccess!!困绕好多日子了,向zez前辈及各位熟悉weblogic+oracle应用的大侠求救!!!一定送分

Jiemi 2003-08-05 11:11:07
源码很简单,只是搜索weblogic中配好的oracle8i数据源,如果只是完成这个,程序不会出异常,但是如果从数据源调用getConnection()试图获取连接时,就会抛出异常!!!

源代码:


package testoracledatasource;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;
import javax.naming.Context;
import javax.sql.ConnectionPoolDataSource;
import javax.sql.PooledConnection;
import java.sql.SQLException;
import javax.sql.DataSource;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class test {
public test() {
}
public static void main(String[] args) {
try{
String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
String WEBLOGIC_URL="t3://1.1.1.191:7001";
Hashtable env=new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,JNDI_FACTORY);
env.put(Context.PROVIDER_URL,WEBLOGIC_URL);
InitialContext ctx = new InitialContext(env); JBMSOracleDataSource
DataSource ds=(DataSource)ctx.lookup("JBMSOracleDataSource");
Connection conn=ds.getConnection();//这里出错!!
System.out.println("Success!");
}
catch(NamingException ne)
{
System.out.println("NamingException:"+ne.getMessage());
}
catch(SQLException se)
{
System.out.println("SQLException: "+se.getMessage());
}
}
}



...全文
160 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozk 2003-08-07
  • 打赏
  • 举报
回复
你本志的stub不在classpath下面
Jiemi 2003-08-06
  • 打赏
  • 举报
回复
谢谢两位前辈or大侠,我今晚要试试先
zez 2003-08-06
  • 打赏
  • 举报
回复
可惜,我没用过orcale.看你的错误好像和orcale驱动有关...
只能提示一下你
DataSource ds=(DataSource)ctx.lookup("JBMSOracleDataSource");
是Tx DataSource ,且jndi name 就是JBMSOracleDataSource

------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
javahui 2003-08-06
  • 打赏
  • 举报
回复
把驱动改成jar后缀加到weblogic\jdk1.3.1\jre\lib\ext下面,
要么修改setEnv.cmd里的classpath也可以。
Jiemi 2003-08-05
  • 打赏
  • 举报
回复
错误信息:




H:\bea\jdk131_02\bin\javaw -classpath "H:\j2ee\TestOracleDatasource\classes;H:\bea\weblogic700\server\lib\weblogic.jar;H:\Oracle\Ora81\jdbc\lib\classes12.jar;H:\bea\jdk131_02\jre\lib\i18n.jar;H:\bea\jdk131_02\jre\lib\jaws.jar;H:\bea\jdk131_02\jre\lib\rt.jar;H:\bea\jdk131_02\jre\lib\sunrsasign.jar;H:\bea\jdk131_02\lib\dt.jar;H:\bea\jdk131_02\lib\htmlconverter.jar;H:\bea\jdk131_02\lib\tools.jar" testoracledatasource.test
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

Start server side stack trace:
java.rmi.ServerError: A error occurred the server; nested exception is:
java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

at java.lang.Class.getMethods0(Native Method)

at java.lang.Class.getMethods(Class.java:742)

at weblogic.rmi.internal.BasicRuntimeDescriptor.initRemoteMethods(BasicRuntimeDescriptor.java:458)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:112)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:139)

at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:106)

at weblogic.rmi.internal.DescriptorManager.resolveClass(DescriptorManager.java:66)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:57)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:43)

at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:163)

at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:147)

at weblogic.common.internal.RemoteObjectReplacer.getReplacement(RemoteObjectReplacer.java:265)

at weblogic.common.internal.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:107)

at weblogic.common.internal.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:53)

at weblogic.common.internal.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:239)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:323)

at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)

at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)

at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)

at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:107)

at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:82)

at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)

at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:346)

at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300)

at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:762)

at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:295)

at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)

End server side stack trace
; nested exception is:
java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

Start server side stack trace:
java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

at java.lang.Class.getMethods0(Native Method)

at java.lang.Class.getMethods(Class.java:742)

at weblogic.rmi.internal.BasicRuntimeDescriptor.initRemoteMethods(BasicRuntimeDescriptor.java:458)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:112)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:139)

at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:106)

at weblogic.rmi.internal.DescriptorManager.resolveClass(DescriptorManager.java:66)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:57)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:43)

at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:163)

at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:147)

at weblogic.common.internal.RemoteObjectReplacer.getReplacement(RemoteObjectReplacer.java:265)

at weblogic.common.internal.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:107)

at weblogic.common.internal.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:53)

at weblogic.common.internal.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:239)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:323)

at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)

at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)

at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)

at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)

at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:107)

at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:82)

at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)

at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:346)

at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:300)

at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:762)

at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:295)

at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)

End server side stack trace


java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

Start server side stack trace:
java.lang.NoClassDefFoundError: oracle/sql/ClobDBAccess

at java.lang.Class.getMethods0(Native Method)

at java.lang.Class.getMethods(Class.java:742)

at weblogic.rmi.internal.BasicRuntimeDescriptor.initRemoteMethods(BasicRuntimeDescriptor.java:458)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:112)

at weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:139)

at weblogic.rmi.internal.DescriptorManager.getBasicRuntimeDescriptor(DescriptorManager.java:106)

at weblogic.rmi.internal.DescriptorManager.resolveClass(DescriptorManager.java:66)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:57)

at weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:43)

at weblogic.rmi.internal.OIDManager.makeServerReference(OIDManager.java:163)

at weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:147)

at weblogic.common.internal.RemoteObjectReplacer.getReplacement(RemoteObjectReplacer.java:265)

at weblogic.common.internal.RemoteObjectReplacer.replaceObject(RemoteObjectReplacer.java:107)

at weblogic.common.internal.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:53)

at weblogic.common.internal.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:239)
。。。。。。。。。。。。。
(余下的太长,省略。。。)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧