java 用rmi 远程连接access 数据库,但总报错,请高人指点。 5
try{System.out.println("consuccess1!");//注册数据提供程序Class.forName("org.objectweb.rmijdbc...
try {
System.out.println("con success1!");
// 注册数据提供程序
Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
// 数据链接字符串
System.out.println("con success2!");
String strurl = "jdbc:rmi://10.192.140.223/jdbc:odbc:TEST";
// String strurl = "jdbc:rmi://localhost/jdbc:odbc:RollGate";
//10.192.140.223为access 数据库所在的服务器地址,ESD为odbc数据源名
System.out.println("strurl"+strurl);
con = DriverManager.getConnection(strurl,"","");
System.out.println("con success!"+con);
} catch(Exception e) {
e.printStackTrace();
}
**********************以上是我连接远程access数据库的代码******************
**********************以下是报错信息*******************************
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoClassDefFoundError
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.objectweb.rmijdbc.RJDriverServer_Stub.connect(Unknown Source)
at org.objectweb.rmijdbc.RJConnection.<init>(RJConnection.java:51)
at org.objectweb.rmijdbc.Driver.connect(Driver.java:199)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at action.Rjdemo.main(Rjdemo.java:26)
Caused by: java.lang.NoClassDefFoundError 展开
System.out.println("con success1!");
// 注册数据提供程序
Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
// 数据链接字符串
System.out.println("con success2!");
String strurl = "jdbc:rmi://10.192.140.223/jdbc:odbc:TEST";
// String strurl = "jdbc:rmi://localhost/jdbc:odbc:RollGate";
//10.192.140.223为access 数据库所在的服务器地址,ESD为odbc数据源名
System.out.println("strurl"+strurl);
con = DriverManager.getConnection(strurl,"","");
System.out.println("con success!"+con);
} catch(Exception e) {
e.printStackTrace();
}
**********************以上是我连接远程access数据库的代码******************
**********************以下是报错信息*******************************
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.NoClassDefFoundError
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at org.objectweb.rmijdbc.RJDriverServer_Stub.connect(Unknown Source)
at org.objectweb.rmijdbc.RJConnection.<init>(RJConnection.java:51)
at org.objectweb.rmijdbc.Driver.connect(Driver.java:199)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at action.Rjdemo.main(Rjdemo.java:26)
Caused by: java.lang.NoClassDefFoundError 展开
3个回答
展开全部
java.lang.NoClassDefFoundError
未找到类
估计是Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
找不到org.objectweb.rmijdbc.Driver
未找到类
估计是Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
找不到org.objectweb.rmijdbc.Driver
更多追问追答
追问
您说的那行已经执行去了。
追答
双击错误,看看定位到哪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
报的错显示你的连接驱动有问题。 Class.forName("org.objectweb.rmijdbc.Driver").newInstance();
这句话需要你再仔细的看一下
这句话需要你再仔细的看一下
追问
你指的这个链接驱动是本地的还是远程的?
追答
是你本地的,你代码里面写入的驱动,而且还要保证服务器端允许远程TCP/IP连接。保证你的机器有权限进行远程访问服务器端
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-31
展开全部
另一端缺少类了?
追问
另一端不就是开启服务,配置了环境变量,别的就没有了
追答
使用的类,不是JRE中的,肯定是需要添加.jar的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询