2013-05-27 5 views
0

У меня есть два компьютера в одной сети. Я ввел ip другого компьютера, он отлично работает в браузере, но при использовании этого ip на java я нашел базу данных, подключенную к моей базе данных localhost, не с другого компьютера!подключить базу данных к другому компьютеру

мой код JDBC

public Connection MakeConnect() throws ClassNotFoundException, SQLException{ 

    Class.forName("oracle.jdbc.driver.OracleDriver"); 

Connection connection = DriverManager.getConnection(
      "jdbc:oracle:thin:http://192.168.1.109:5560/isqlplus", "school", 
      "sch"); // first : user(hr) second pass(hr) .! 

    return connection ; // return connetion of database 

ответ

1

Я думаю, что ваша строка подключения JDBC может быть неправильным. Вы должны предоставить это следующим образом:

jdbc:oracle:thin:@[HOST][:PORT]:SID 
jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE 

Вместо этого он выглядит так, как вы указали ссылку ISQLPLus. Я не проверял это, но мои мужества говорят мне, что это причина. Я думаю, что в вашем случае это должно быть примерно так:

jdbc:oracle:thin:@192.168.1.109/SERVICEorSID 

И вам нужно найти имя службы самостоятельно. В общем случае это имя базы данных. По умолчанию обычно устанавливается ORCL, но, возможно, вы устанавливаете его на другое имя.

Убедитесь, что вы читали следующий документ: http://www.orafaq.com/wiki/JDBC

0

Если соединение успешно без ошибок, и если это 192.168.1.109 IP адрес не является вашей локальной машине, то он должен быть подключен к другой машине.

Что заставило вас думать, что оно подключается к локальному экземпляру базы данных?

+0

я испытал много quries и нашел все получать данные из моих старых или локальной базы данных не из anouther компьютера! – hesham

+0

Затем очистите и скомпилируйте код. Поскольку у вас есть жестко закодированный URL-адрес, это может произойти, если используется какой-то старый скомпилированный класс. – Thihara

+0

Я очистил все мои проекты, но все еще читаю из старой базы данных. – hesham

0

Проверьте настройки брандмауэра другого компьютера. Иногда это может не допускать внешних подключений.

+0

Если OP получает соединение с результатами, это преуспевает. – Thihara

+0

, но если связанное соединение должно дать мне ошибку, не указывая мою старую базу данных> – hesham

+0

, вы используете MySQL с PHP myadmin ?? –

0

Если вы хотите разрешить конкретный IP-адрес клиента (например: 192.168.1.4) для доступа к базе данных mysql, работающей на сервере, вы должны выполнить следующую команду на сервер, на котором запущена база данных mysql.

$ mysql -u root -p 
    Enter password: 
    mysql> use mysql 
    mysql> GRANT ALL ON *.* to [email protected]'192.168.1.4' IDENTIFIED BY 'your-root-password'; 
    mysql> FLUSH PRIVILEGES; 

Кроме того, правила брандмауэра обновление, чтобы убедиться, порт # 3306 открыт на сервере, работающем под управлением базы данных MySQL.

+0

i'm используя orcle, я должен установить tomcat на другой компьютер? – hesham

Смежные вопросы