java.lang.ClassNotFoundException: oracle.jdbc.driver.oracledriver的问题

wzacs 2007-11-21 12:27:53
用JDBC连接oracle时 有如下问题:
java.lang.ClassNotFoundException: oracle.jdbc.driver.oracledriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at ConnectDB.doConnect(ConnectDB.java:16)
at ConnectDB.main(ConnectDB.java:41)

请问怎么在环境变量里设置才可以没问题啊??谢谢各位高手了!!!!
...全文
52487 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hank2004182419 2011-11-23
  • 打赏
  • 举报
回复
java.sql.SQLException: 调用中无效的参数
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:196)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Tans.main(Tans.java:20)
这是怎么回事啊,谁帮帮我?
---------是不是你获取数据库连接时URL地址,数据库用户名和密码没有填写完全啊!
hank2004182419 2011-11-23
  • 打赏
  • 举报
回复
我的不知道为什么,MyEclipse中,直接在项目里导入Oracle驱动包不行,拷贝到项目文件夹下WebRoot\WEB-INF\lib\中就行了.
lxd512103 2011-06-23
  • 打赏
  • 举报
回复
说错了,为什么我buildpath设置了还是报这个错
lxd512103 2011-06-23
  • 打赏
  • 举报
回复
为什么我classpath设置了还是报这个错呢
t695759116 2010-04-28
  • 打赏
  • 举报
回复
java.sql.SQLException: 调用中无效的参数
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:196)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Tans.main(Tans.java:20)
这是怎么回事啊,谁帮帮我?
uwyceee110 2008-10-13
  • 打赏
  • 举报
回复
啊哈
wzacs 2007-11-22
  • 打赏
  • 举报
回复
问题已经解决
把CLASSPATH设好就OK了
谢谢了!
chaomy 2007-11-21
  • 打赏
  • 举报
回复
最好还是设置好环境变量,要不每次都要设置-classpath参数
把包引近来以后在代码里引进驱动就可以了,下面是不同数据库用到的不同代码
1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jarClass.forName( "org.gjt.mm.mysql.Driver" );cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jarClass.forName( "org.postgresql.Driver" );cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );
3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zipClass.forName( "oracle.jdbc.driver.OracleDriver" );cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );
4. Sybase(http://jtds.sourceforge.net)jconn2.jarClass.forName( "com.sybase.jdbc2.jdbc.SybDriver" );cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );//(Default-Username/Password: "dba"/"sql")
5. Microsoft SQLServer(http://jtds.sourceforge.net)Class.forName( "net.sourceforge.jtds.jdbc.Driver" );cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );
6. Microsoft SQLServer(http://www.microsoft.com)Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );
7. ODBCClass.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );
8.DB2(新添加)Class.forName("com.ibm.db2.jdbc.net.DB2Driver");String url="jdbc:db2://192.9.200.108:6789/SAMPLE"cn = DriverManager.getConnection( url, sUsr, sPwd );
9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10JDBC Name: jTDSURL: http://jtds.sourceforge.net/Version: 0.5.1Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291
10.PostgresqlJDBC Name: PostgreSQL JDBCURL: http://jdbc.postgresql.org/Version: 7.3.3 build 110Download URL: http://jdbc.postgresql.org/download.html

11.IBM AS400主机在用的JDBC语法有装V4R4以上版本的Client Access Express可以在C:\Program Files\IBM\Client Access\jt400\lib找到 driver 档案 jt400.zip,并更改扩展名成为 jt400.jar

12.informixClass.forName("com.informix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword";Lib:jdbcdrv.zip<br><br>Class.forName( "com.sybase.jdbc.SybDriver" )url="jdbc:sybase:Tds:127.0.0.1:2638/asademo";SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");

13.SAP DBClass.forName ("com.sap.dbtech.jdbc.DriverSapDB");java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)
14.InterBaseString url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb";Class.forName("interbase.interclient.Driver");//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );

15.HSqlDBurl:     http://hsqldb.sourceforge.net/driver:  org.hsqldb.jdbcDriver连接方式有4种,分别为:con-str(内存): jdbc:hsqldb.con-str(本地): jdbc:hsqldb:/path/to/the/db/dircon-str(http): jdbc:hsqldb:http://dbsrvcon-str(hsql): jdbc:hsqldb:hsql://dbsrv
四周的风景 2007-11-21
  • 打赏
  • 举报
回复
补允:如果不想设置环境变量可以在运行时加上-classpath参数
mamrise 2007-11-21
  • 打赏
  • 举报
回复
不知道你使用的环境是什么

如果使用命令行编译的话,可以在环境变量->系统变量(s)下编辑classpath,在最后添上oracle驱动文件(应该有三个)的完整路

径,注意用;号隔开以下是我的设置,供你参考

;D:\classes12.jar;D:\nls_charset12.jar;D:\ocrs12.jar;


如果是eclipse下

1.如果是java项目,可以在项目文件夹上右键->属性,弹出eclipse属性对话框,选中左边一栏的java构建路径,再选择右边顶部的

库(L)->添加库->用户库->点击“用户库”按钮->新建->写上库的名字(可随便填写)->点击“添加JAR”按钮->

找到你的oracle驱动文件,全部选中->打开->确定->确认新建的库已经勾选,点“完成”

2.如果是web项目,只要把oracle驱动文件拷贝到项目文件夹下WebRoot\WEB-INF\lib\中就行了;

或者拷贝到Tomcat文件夹下common\lib\中也可以



---------------------------------------------
欢迎加入qq群44493666参与讨论




freedom2001 2007-11-21
  • 打赏
  • 举报
回复
把JDBC包放到你应用下的lib目录里,然后在环境变量里设置classpath指定到你lib目录
如果是在eclipse里,就直接在项目里导入这个包就成
你的工程--属性--java build path--Libraries--add External Jar

62,615

社区成员

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

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