ошибки исключения SQL - PullRequest
       1

ошибки исключения SQL

2 голосов
/ 01 марта 2012

Я пытаюсь выполнить команду sql из Java-программы. У меня нет ошибок в этом коде. Но я сталкиваюсь с отказами в подключении из базы данных.

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;

и плз, скажите мне, что такое Скотт Тигр .. я там много путаюсь ... какие там пользователи .. что разблокировать и как ?? плз спасибо ..

Ответы [ 5 ]

2 голосов
/ 01 марта 2012

ваш код

Connection con=DriverManager.getConnection(
          "jdbc:oracle:thin:@localhost:1521:xe","lms","abc");

изменить на

Connection con=DriverManager.getConnection(
          "jdbc:oracle:thin:@//localhost:1521:xe","lms","abc");

Для получения дополнительной информации вы можете увидеть

http://www.orafaq.com/wiki/JDBC

Требуется еще одно изменение

stmt.executeUpdate("create table emp(eno number(5),name varchar2(20))");

изменить на

stmt.executeUpdate("create table emp(eno number(5),name varchar2(20));");
1 голос
/ 01 марта 2012

Посмотрим, что говорит описание ошибки:

>oerr ora 12505
12505, 00000, "TNS:listener does not currently know of SID given in connect descriptor"
// *Cause:  The listener received a request to establish a connection to a
// database or other service. The connect descriptor received by the listener
// specified a SID for an instance (usually a database instance) that either
// has not yet dynamically registered with the listener or has not been
// statically configured for the listener. This may be a temporary condition
// such as after the listener has started, but before the database instance
// has registered with the listener.
// *Action:
//  - Wait a moment and try to connect a second time.
//  - Check which instances are currently known by the listener by executing:
//    lsnrctl services <listener name>
//  - Check that the SID parameter in the connect descriptor specifies
//    an instance known by the listener.
//  - Check for an event in the listener.log file.
1 голос
/ 01 марта 2012

Возможно, ваши оракульные службы остановлены.Скотт / тигр является одним из паролей по умолчанию в Oracle.Вы должны использовать свой try / catch в своем коде.

0 голосов
/ 31 марта 2016

Попробуйте этот код:

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "lms", "abc");
0 голосов
/ 23 августа 2013

Другая проблема заключается в том, что у вас могут быть более старые драйверы в пути к классам (поэтому убедитесь, что у вас нет class111.jar или чего-то более старого в runp classpath).

Убедитесь, что в пути к классу указан правильный драйвер (thin или oci).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...