Консультация № 171745
30.08.2009, 13:20
0.00 руб.
0 0 0
Здравствуйте, уважаемые эксперты. Я пишу на Java (Java, а не JavaScript). Решил научиться работать с базой данных Derby и в связи с этим у меня возник вопрос. В приложении рабочий код ( в нем нет ошибок и он отлично компилируется и даже выполняет то, что нужно), но он рабочий только для localhost. При замене localhost на айпишник моего компьютера - программа перестает работать и выдает ошибку:
run:
java.sql.SQLTransientConnectionException: java.net.ConnectException : Ошибка соединения с сервером ххх.ххх.ххх.ххх на порту 1527 с сообщением Connection refused: connect.

Итак собственно сам вопрос: Что нужно изменить в программе, чтобы иметь возможность присоединяться к базе Derby на удаленном компьютере?

P.S. Если важно: среда разработки NetBeans 6.5, версия Apache Derby Network Server - 10.4.1.3.


Приложение:
import java.sql.*;
import java.io.*;
import java.util.*;


/**
*
* @author Averi
*/
public class Main
{
public static void main(String[] args) {
try
{
runTest();
}
catch (SQLException ex)
{
for (Throwable t : ex)
t.printStackTrace();
}
catch (IOException ex)
{
ex.printStackTrace();
}

}

private static void runTest() throws SQLException, IOException
{
String drivers = "org.apache.derby.jdbc.ClientDriver";
System.setProperty("jdbc.drivers", drivers);
String url = "jdbc:derby://localhost:1527/COREJAVA";
String username = "dbuser";
String password = "secret";
Connection conn = DriverManager.getConnection(url,username,password);
try
{
Statement stat=conn.createStatement();

stat.executeUpdate(
"CREATE TABLE Greetings (Message CHAR(20))");
stat.executeUpdate(
"INSERT INTO Greetings VALUES ('Hello, World!')");

ResultSet result=stat.executeQuery(
"SELECT * FROM Greetings");
if (result.next());
System.out.println(result.getString(1));
result.close();
stat.executeUpdate("DROP TABLE Greetings");
}
finally
{
conn.close();
}
}
}

Обсуждение

Форма ответа