GWT - Проблемы с соединением JDBC Oracle - PullRequest
2 голосов
/ 31 января 2011

У меня возникли большие трудности при подключении к базе данных Oracle OJDBC.

Error:    

"Невозможно подключиться к базе данных. Сообщение об исключении: Ошибка ввода-вывода: Сетевой адаптер не может установитьсоединение "

Я использую Google Web Toolkit и добавил базу данных SQL в свой проект.
База данных называется Agenda.

Я много искал, кажется, что эта проблема является общей для многих людей, но не смог ее преодолеть.Я скачал "ojdbc6.jar" и добавил в свой BUILDPATH.
Я обновил, закрыл, открыл и снова открыл, но я все еще вижу ошибки.

Мои характеристики:
Windows 7 x64
Springsource - пробовал также в Eclipse

private static final long serialVersionUID = 1L;
private Connection connection = null;
private Properties props = null;
private ClassLoader cl = null;
private String databaseURL = "";
private String databaseUser = "";
private String databasePass = "";
public void init() {
    try {
        // Load the database connection properties from com.gwt.agenda.GWTAgendaSample.properties
        props = new Properties();
        cl = this.getClass().getClassLoader();
        InputStream is = cl.getResourceAsStream("com/gwt/agenda/GWTAgendaSample.properties");
        props.load(is);
        // Load the database access information
        databaseURL = props.getProperty("databaseURL");
        databaseUser = props.getProperty("databaseUser");
        databasePass = props.getProperty("databasePass");
    } catch (Exception e) {
        e.printStackTrace();
        logger.error("Error loading GWTAgendaSample.properties file.", e);
    }
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        // Connect to the database
        connection = DriverManager.getConnection(databaseURL, databaseUser, databasePass);
    } catch (SQLException se) { messageOut = "Unable to connect to database. Exception message: " + se.getMessage();
        System.out.println(messageOut);
        se.printStackTrace();
        // Server side log
        logger.error(messageOut + "\n", se);
        destroy();
    } catch (Exception e) {
        messageOut = "Unable to connect to database. Exception message: " + e.getMessage();
        System.out.println(messageOut);
        e.printStackTrace();
        // Server side
        logger.error(messageOut + "\n", e);
        destroy();
    }
}

Может кто-нибудь указать мне правильное направление,Я что-то пропустил?

Пожалуйста, помогите!

Отредактировано !!

Unable to connect to database. Exception message: Erro de E/S: The Network Adapter could not establish the connection
java.sql.SQLRecoverableException: Erro de E/S: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.gwt.Agenda.server.GreetingServiceImpl.init(GreetingServiceImpl.java:78)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
    at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:342)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:375)
    at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
    at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:678)
    at oracle.net.ns.NSProtocol.connect(NSProtocol.java:238)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1054)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308)
    ... 27 more
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:209)
    at oracle.net.nt.ConnOption.connect(ConnOption.java:123)
    at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:353)
    ... 32 more

Невозможно подключиться к базе данных.Сообщение об исключении: слушатель отклонил соединение со следующей ошибкой: ORA-12505, TNS: слушатель в настоящее время не знает SID, указанный в дескрипторе соединения

Ответы [ 4 ]

2 голосов
/ 01 февраля 2011

Эта ошибка возникает при совпадении лотов:

  1. Не настроен прослушиватель TNS
  2. TNS-Listerner настроен, но не работает
  3. Неверное имя TNS в URL-адресе соединения
  4. Более одного TNSNAMES.ORA в системном пути

Мне было очень весело с Oracle. Попробуйте tnsping , чтобы убедиться, что в вашей базе данных работает и работает соединитель.

2 голосов
/ 11 мая 2011

Похоже, ваше соединение отклонено базой данных Oracle. Вы уверены, что ваша база данных Oracle запущена и работает? У меня была похожая проблема давным-давно, и я думал, что нет необходимости устанавливать базу данных MYSQL для запуска примера. Я был не прав и должен был установить, чтобы он работал.

1 голос
/ 01 февраля 2011

Обычно я вижу это, когда URL моей БД неправильно отформатирован для рассматриваемого драйвера или мои имя пользователя и пароль неверны или передаются неправильно.

Что я делаю, так это подключаюсь к БД с помощью плагина БД для IDE и того же драйвера, который будет использоваться в моем коде, и заставлю его работать, прежде чем пытаться подключиться через код.

0 голосов
/ 24 июня 2013

это проблема Google App Engine. Запустите ваше приложение на внешнем сервере.

вот полезная ссылка Как настроить GWT для Tomcat?

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