Oracle.jdbc.driver.OracleDriver()不存在错误

时间:2012-02-29 09:48:44

标签: java sql jdbc

我正在尝试从java程序执行sql命令..我没有关于此代码的任何错误..但我面临来自数据库的连接拒绝..

import java.sql.*;
public class DBCreateTable
{
    public static void main(String args[]) throws Exception
    {
        DriverManager.registerDriver (new Oracle.jdbc.driver.OracleDriver());
        Connection con=DriverManager.getConnection(
              "jdbc:oracle:thin:@localhost:1521:xe","lms","abc");
        Statement stmt=con.CreateStatement();
        stmt.executeUpdate("create table emp(eno number(5),name varchar2(20))");
    }
}

遇到的错误是:

Exception in thread "main" java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=185599488)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
       at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:468)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
        at java.sql.DriverManager.getConnection(DriverManager.java:579)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at DBCreateTable.main(DBCreateTable.java:7)

在我的sql命令中,我完成了以下操作..

    SQL> connect system/tiger;
    SQL> create user lms identified by abc;
    SQL> grant connect,resource to lms;

并告诉我什么是斯科特老虎..我在那里弄得很多......那里的用户是什么......解锁怎么样?谢谢..

4 个答案:

答案 0 :(得分:7)

将oracle驱动程序jar添加到项目构建路径中,它应该可以工作。 (例如http://mirrors.ibiblio.org/pub/mirrors/maven/mule/dependencies/maven1/oracle-jdbc/jars/ojdbc14.jar

答案 1 :(得分:0)

您的包裹名称错误。

DriverManager.registerDriver (new **Oracle**.jdbc.driver.OracleDriver());

在java中,包名始终以uncapitalize letter开头。您的计划在compilation time失败了。

答案 2 :(得分:0)

Oracle 11g以后不再支持或提供oracle.jdbc.driver。*类,theojdbc4.jar文件和OracleConnectionCacheImpl类。所以请改用oracle.jdbc.oracledriver。

答案 3 :(得分:-2)

karjala 你是否下载Oracle JDBC驱动程序首先下载它们,你可以从这里下载Oracle JDBC驱动程序 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 选择适合您的数据库版本的版本。

连接Oracle的Java程序: 以下Java程序使用Oracle JDBC驱动程序连接到正在运行的Oracle数据库实例。您可以在任何Oracle数据库上使用此程序,因为此示例使用Oracle的内置虚拟表DUAL来获取系统日期。 DUAL使我们能够使用普通的SQL查询获取系统日期等值。

1 //示例Java程序 - Oracle数据库连接 2  import java.sql.Connection; 3  import java.sql.Date; 4  import java.sql.DriverManager; 五  import java.sql.ResultSet; 6  import java.sql.SQLException; 7  import java.sql.Statement; 8

9 公共类OracleSample { 10

11     public static final String DBURL =“jdbc:oracle:thin:@localhost:1521:XE”; 12     public static final String DBUSER =“system”; 13     public static final String DBPASS =“manager”; 14

15     public static void main(String [] args)抛出SQLException { 16

17         //加载Oracle JDBC驱动程序 18         DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 19

20         //连接到Oracle数据库 21         Connection con = DriverManager.getConnection(DBURL,DBUSER,DBPASS); 22

23         Statement statement = con.createStatement(); 24

25         //在Oracle Dummy DUAL表上执行SELECT查询。用于检索系统值 26         //使我们能够像从表中查询一样检索值 27         ResultSet rs = statement.executeQuery(“SELECT SYSDATE FROM DUAL”); 28

29

30         if(rs.next()){ 31             Date currentDate = rs.getDate(1); //返回第一列 32             System.out.println(“Oracle的当前日期是:”+ currentDate); 33         } 34         rs.close(); 35         将statement.close(); 36         con.close(); 37     } 38 }

我希望这能帮助你们.......: - )