Среда разработки 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;
}
}