各位大虾,救命啊!有关jdbc的问题。100分送上!

tsmoz 2000-08-01 03:06:00
我写了一个Applet,用NETSCAPE看没问题,但一用IE看,就告诉我一个错误消息:
“java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver”.这是怎么一回事?怎么解决?
我的源码如下:


import java.awt.*;
import java.applet.*;
import java.awt.Graphics;
import java.sql.*;

public class Applet1 extends java.applet.Applet{
boolean isStandalone = false;

//Construct the applet

public Applet1() {
}
//Initialize the applet

public void init() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setSize(800,300);

}
//Get Applet information

public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info

public String[][] getParameterInfo() {
return null;
}
public void paint(Graphics g)
{
String url = "jdbc:odbc:motest";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection(url,"","");
String sql="select * from tbluser";
g.drawString("native form:"+connection.nativeSQL(sql),10,100);
Statement statement=connection.createStatement();
ResultSet rs=statement.executeQuery(sql);
int i;
i=0;
while (rs.next())
{
i=i+1;
String name=rs.getString(2);
g.drawString(name,10,i*10);
}
connection.close();
}
catch(Exception ex)
{
g.drawString("A problem occurred during the establishment of the connection:" + ex,10,100);
}

}

}
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆 2000-10-18
  • 打赏
  • 举报
回复
问题处在你那句:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
你去查查你的包中有没有该类。
土豆 2000-10-18
  • 打赏
  • 举报
回复

这是我觉得在Applet实现队数据的访问好像没什么意义, Applet是需要下载到浏览器端的,然后再浏览器端运行,则会必然要求浏览器端好么安装你的数据库的客户端(比如OrACLE的客户端,SQLServer的客户端),另外还要建立数据的连接,基于浏览器的目的就是为了实现瘦客户,希望在客户端只需要一个浏览器,不需要在安装其他东西,什么数据库客户端啦,统统都不要装,这样就没哟任何意义了。
如果你在Applet中直接实现对数据库的访问,那必然需要在浏览器侧的机器必须安装数据库的客户端,如果你的程序时基于Intrarnet的,只是在企业网内部运行,虽然一个个机器去安装客户端,有些麻烦,到还是可以的。假如你是基于Internet,那就不可能了,你不可能要求每个来浏览网页的客户都安装数据库客户端,另外还需要配置数据库的连接吧。显然是不可能的。
我觉得可行的方法是WEB服务器和数据可服务器进行交互,WEB服务器取得数据后,然后将数据送到浏览器端。比较典型的方式一个是通过CGI编程,WEB服务器上的CGI进程从数据库取数据,然后HTML的方式发到浏览器端;另一种方式现在也用得很多,那就是使用ASP了。
土豆 2000-10-14
  • 打赏
  • 举报
回复
安装一个JRE吧,比较省事。
Jackzhu 2000-08-02
  • 打赏
  • 举报
回复
ie对jdk支持的不好,有些包没有被包容在内,而netscape内置了jdk1.1.*,一个解决方法是在服务器端将jdbc包设在源路径,或者使用plug-in方法使ie支持jdk的高版本,或者改变你程序的配置方式,设置数据库服务程序,在服务器端运行,利用http协议与applet通信.

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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