Jdbc问题。老是搞不定:

HaoGe 2000-08-21 07:27:00
源文件如下:
编译后执行总是出错:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.sql.*;


public class webtest extends Applet implements ActionListener {

java.awt.Button btnConnect = new java.awt.Button();
java.awt.Label lblShow =new java.awt.Label();


public void init()
{

setLayout(null);
setSize(400,200);

btnConnect.setLabel("Connect To DB");
lblShow.setText("Nothing");
btnConnect.addActionListener(this);

btnConnect.setBounds(120,60,132,24);
lblShow.setAlignment(java.awt.Label.CENTER);
lblShow.setForeground(java.awt.Color.blue);
lblShow.setFont(new Font("Dialog", Font.BOLD, 12));
lblShow.setBounds(120,120,138,24);

add(btnConnect);
add(lblShow);

}

public void actionPerformed(ActionEvent evt) {
try{
ResultSet results;
String url="jdbc:odbc:webtest";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection con=DriverManager.getConnection(url,"sa","logger");
Statement stmt=con.createStatement();
results=stmt.executeQuery("select * from z_online_sale");
stmt.close();
con.close();
lblShow.setText("Connected!");
}
catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}

}



//*********************************************************
错误如下:
com.ms.security.SecurityExceptionEx[webtest.actionPerformed]: cannot access file JdbcOdbcSecurityCheck
at com/ms/security/permissions/FileIOPermission.check




Exception occurred during event dispatching:
java.lang.UnsatisfiedLinkError: sun/jdbc/odbc/JdbcOdbc.allocEnv Possible causes: If you are trying to use J/Direct (@dll.import), check your compiler version (for JVC, requires 4336 or greater.) If you are trying to use RNI, there are new requirements: see documentation.

环境:jdk1.3
我怀疑是classpath的设置问题,但是重新设置后没有任何作用。
还望各位帮忙!

...全文
258 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HaoGe 2000-08-23
  • 打赏
  • 举报
回复
这个问题搞定了,classpath写错了一个字。惨痛教训。
可惜jdbc问题依旧。
谢谢各位帮忙。
HaoGe 2000-08-23
  • 打赏
  • 举报
回复
我发现现在连最简单的application程序都要出错(类似于hello world):
public class webtest1 {

public static void main(String args[]) {
System.out.println("JDK Test");

}
}
用java webtest1 执行时出以下错:
Exception in thread "main" java.lang.NoClassDefFoundError: webtest1
我都要疯了,怎么java这么麻烦。到底需要怎么配置?

Tommy Chang 2000-08-23
  • 打赏
  • 举报
回复
静态加载驱动,你试过没有?

在一个简单的applet里面将自己system的环境变量显示出来,看看有没有什么问题?特别是classpath

:)
Tommy Chang 2000-08-22
  • 打赏
  • 举报
回复
去掉Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
DriverManger.RegisterDriver(new sun.jdbc.odbc.JdbcOdbcDriver)(语法大体是这样的,分动态和静态载入驱动)
提醒一句,import那个sun.jdbc.odbc包

试下静态引入,看看是不能访问jdbc驱动本身的安全问题,还是jdbc驱动中触发的安全异常?后者的话,以前有些帖子是关于浏览器的安全问题的,可以参照。

Good luck!

:)
HaoGe 2000-08-22
  • 打赏
  • 举报
回复
不,在appletviewer中就有问题,信息如下:
access denied (java.lang.RuntimePermission accessClassInP
java.security.AccessControlException: access denied (java
accessClassInPackage.sun.jdbc.odbc)

难道是访问jdbc驱动本身的安全问题?我改了浏览器的安全设置还是不行。
我的ClassPath需要怎么设?缺省的难道就不行吗?
javabean 2000-08-22
  • 打赏
  • 举报
回复
你仔细检查一下,可能还是环境设置上存在问题,我试验了一下你的程序,没有什么错误信息,基本正常。
Jackzhu 2000-08-22
  • 打赏
  • 举报
回复
用appletviewer运行一下,看看什么异常。
如果appletviewer正常,在ie的异常可以用如下方式尝试解决
1、使用plug-in(appletviewer正常,此方式绝对可以)
2、使用jdk1.1.*版本,使用jdbc驱动,不要使用jdbc-odbc,在网络有问题,设置好jdbc的类路径或在html文件中将服务器提供的jdbc的类设在codebase中即可。
Jackzhu 2000-08-22
  • 打赏
  • 举报
回复
用appletviewer运行一下,看看什么异常。
如果appletviewer正常,在ie的异常可以用如下方式尝试解决
1、使用plug-in(appletviewer正常,此方式绝对可以)
2、使用jdk1.1.*版本,设置好sun.jdbc.odbc的类路径或在html文件中将服务器提供的sun.jdbc.odbc的类设在codebase中

62,615

社区成员

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

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