线程“main”中的异常java.sql.SQLException:ORA-00955:name已被现有对象使用

时间:2013-11-11 00:08:57

标签: java sql oracle jdbc

我正在编写一个jdbc程序,我遇到了这个问题:现有对象已经使用了名称。

 try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
    }

    catch(ClassNotFoundException ex)
    {
        ex.printStackTrace();
    }

    Connection con=null;

    Statement stmt=null;

     con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","moon");

    stmt=con.createStatement();

     stmt.execute("create table emp4090(eno int,ename varchar(20))");

       System.out.println("Done successfully");

我在运行此程序时遇到错误。

  Exception in thread "main" java.sql.SQLException: ORA-00955: name is already used by an existing object

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1169)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1688)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1654)
at com.aol.jdbc.Jdbc.main(Jdbc.java:26)

1 个答案:

答案 0 :(得分:1)

很简单,当你创建表时,一旦你无法在第二次创建她。 尝试删除表,然后重新创建它。