Подключение к оракловой базе из консольного и GUI приложения
От: Александр  
Дата: 17.08.09 10:04
Оценка:
Среда разработки NetBeans 6.7 RC1 (также пробовал 6.5)
jdk1.6.0_14

ОС winXP SP3

При подключении к оракловой базе через консольное приложение проблем не возникает. А при создании приложения с графическим интерфейсом, тот же класс зависает на подключении и где-то через минуту выдаёт эксепшен:
java.sql.SQLException: Исключение ввода/вывода: The Network Adapter could not establish the connection

Всё стопорится на DriverManager.getConnection(this.dbURL, properties);

При этом на компах с 2003 сервером программа работает и с графическим интерфейсом

куда хотяб копать? Может, NetBeans настроить надо как-то по особенному?

Конструктор класса :

    /**
     * Конструктор получает логин, пароль, адрес базы данных 
     * @param login логин базы данных
     * @param pass пароль базы данных
     * @param dbURL адрес базы данных "@//путь:порт/инстенс"
     * @param log указатель на лог файл
     */
    public DataBaseRW(String login, String pass, String dbURL, LAVFileWriter log) {
        if (log != null) {
            log.writeToFile("Подготовка данных для подключения к базе...");
        }
        this.setLogin(login);
        this.setPass(pass);
        //"jdbc:oracle:thin:@//sdsl-test:1521/sdsltest";
        this.setDbURL("jdbc:oracle:thin:" + dbURL);
        this.log = log;

        // инициализировать и загрузить драйвер JDBC
        try {
            Class.forName("oracle.jdbc.OracleDriver");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            if (log != null) {
                log.writeToFile(ex.getLocalizedMessage());
            }
            return;
        }
        try {
            Properties properties = new Properties();
            properties.setProperty("user", this.login);
            properties.setProperty("password", this.pass);

            if (log != null) {
                log.writeToFile("Попытка подключиться к базе данных...");
            }

            this.conList = DriverManager.getConnection(this.dbURL, properties);

//*** На этом всё и останавливается ***

        this.stmtList = conList.createStatement(); 
            if (log != null) {
                log.writeToFile("Подключено успешно.");
            }

        } catch (SQLException ex) {
            Logger.getLogger(DataBaseRW.class.getName()).log(Level.SEVERE, "Ошибка при подключении к базе данных", ex);
            if (log != null) {
                log.writeToFile("Ошибка при подключении к базе данных: " + ex.getLocalizedMessage() + " = " + ex);
            }
            this.close();
            this.stmtList = null;        
        }
    }
netbeans oracle
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.