免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4145 | 回复: 12
打印 上一主题 下一主题

实在是不明白,请高手指点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-28 11:33 |只看该作者 |倒序浏览
我在运行一个jdbc相关的程序时总是出现这样的错误提示:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)
        at Jdbctest.main(Jdbctest.java:77)
java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:532)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Jdbctest.main(Jdbctest.java:85)

程序内容如下:
import java.net.URL;
import java.sql.*;
public class Jdbctest
{
    public static void main(String[] args)
    {
        String driver = "oracle.jdbc.driver.OracleDriver";
        String url = "localhost/MAINCENT";
        Connection con = null;
        Statement st;
        ResultSet rs;
        try
        {
            Class.forName(driver).newInstance();
        }
            catch(Exception exc)
            {
                exc.printStackTrace();
            }
                try
                {
                    con = DriverManager.getConnection("jdbcracle:thinlocalhost:1221:MAINCENT", "system","manager" );
                    st = con.createStatement();
                    rs = st.executeQuery("SELECT * FROM tab";
                    while(rs.next())
                    {
                        System.out.println("column1 is:"+rs.getString(1));
                    }
                }        
                catch(Exception e)
                    {
                        e.printStackTrace();
                    }
                finally
                {
                    if(con == null)
                        return;
                    try
                    {
                        con.close();
                    }
                        catch(Exception ex)
                    {
                        ex.printStackTrace();
                    }
                }        
    }
}
  大家不要说我什么classpath没设置好啊,其他程序都可以正常执行的.但好象就这个java.lang包好象总是找不好,还有jdbc的驱动也找不到.但我在oracle的安装目录下面看到有驱动程序的,就是那个classes12.jar文件.搞了好几天,真是受不了了

论坛徽章:
0
2 [报告]
发表于 2007-11-28 14:22 |只看该作者
这个用不着高手,一看就知道是数据库驱动程序没放到classpath里

这段代码是用什么IDE写的?

论坛徽章:
0
3 [报告]
发表于 2007-11-28 15:04 |只看该作者
我的classpath里已经加了数据库驱动了:classpath=.;F:\oracle\ora90\jdbc\lib\classes12.jar;F:\oracle\ora90\jdbc\lib\ojdbc14.jar
penguin_g 该用户已被删除
4 [报告]
发表于 2007-11-28 15:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2007-11-28 15:57 |只看该作者
怎么会没指定jdbc驱动路径呢,明抿已经加进去了.路径也没错啊.

论坛徽章:
0
6 [报告]
发表于 2007-11-28 16:47 |只看该作者

回复 #1 miaoxins 的帖子

加个
System.out.println(System.getenv("java.class.path"));
看看

论坛徽章:
0
7 [报告]
发表于 2007-11-28 18:05 |只看该作者
我用String pathPer = System.getProperty("java.class.path");
打印出来是:
.;F:\j2sdk1.4.2\lib\tools.jar;F:\j2sdk1.4.2\lib\dt.jar;F:\j2sdk1.4.2\bin;F:\orac
le\ora90\jdbc\lib\classes12.jar;F:\oracle\ora90\jdbc\lib\ojdbc14.jar;F:\tool\Jav
aSoft\JRE\1.1\lib\rt.jar
我的classpath是越加越长,也没见有什么效果,差不多把所有有嫌疑的路径都加进去了,可没什么用

论坛徽章:
0
8 [报告]
发表于 2007-11-28 19:44 |只看该作者
String url = "localhost/MAINCENT";  
这个地方是不是应该加上端口号~~
我不是很懂~~

论坛徽章:
0
9 [报告]
发表于 2007-11-28 23:11 |只看该作者
你确信classes12.jar里面有oracle/jdbc/driver/OracleDriver.class这个文件?

论坛徽章:
0
10 [报告]
发表于 2007-11-29 09:19 |只看该作者
有这么个文件,我把classes12.jar解压后,这个文件位于:
F:\oracle\ora90\jdbc\lib\classes12\oracle\jdbc\OracleDriver.class
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP