我用MYEclipse建设了一个WEB项目,连接ORCALE的代码如下:
public  List<String> getNames(String url,String userName,String password,String sqlString)
{
con=null;
List<String> names = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection(url,userName,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sqlString);

while(rs.next())
{
names.add(rs.getString(1));
}

}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
return names;
}
我已经把驱动包放在WEB-INF/lib下了,是我用orcale自带的class12.zip改成class12.jar的。
代码运行到Class.forName时提示:Source not found for WebappClassLoader.loadClass(String) line: 1204
请问应该怎么解决啊?

解决方案 »

  1.   

    class12.zip改成class12.jar的?
    在oralce的安装目录本来就存在class12.jar这个jar包,为什么你要自己杜撰一个呢?
    还有class12.jar是放在web容器的lib中的。如tomcat/lib下
      

  2.   

    oracle\product\10.2.0\db_1\jdbc\lib
    安装oracle后 jar包在这个路径里面啊
    找找看  没有的话  进下面的链接去下http://www.oracle.com/technology/global/cn/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html
    进去链接后  点接受许可协议 去下吧 
      

  3.   

    错 首先直接改后缀是错误的 尝试一下解压 看看解压后是不是jar包,不过不是去另下载一个jar
       其次 看oracle版本,如果是oracle9及以上版本 要用ODBC14.jar而不是class12.jar
      

  4.   

    用 jar也好,zip 也好,都没问题,用 ojdbcx.jar 也可以连 oracle 的,如楼主描述的放在 WEB-INF/lib 中了就行,从提示看出是通过 web 容器来连接数据库的。只是还需要更详细的错误描述:Source not found 说的是 Source 源找不到,没说是 Class not found.
      

  5.   

    就因为你使用的的是zip文件改的,所以才提示Source not found 嘛
      

  6.   

    jar 本来就是 zip 格式,用 jar 或 zip 扩展名不会影响到 ClassLoader 加载类。
      

  7.   


    up,原来用db2的时候,它的jar就是db2java.zip,一样用的很欢。
    另外,9i,10g用class12.jar都没问题。
    9i的jar在 E:\oracle\ora92\jdbc\lib\classes12.jar显示1.169K,zip显示1.179K,可能是有什么不同