Oracle JDBC неустойчивая проблема соединения - PullRequest
59 голосов
/ 24 февраля 2010

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

OS: Ubuntu
Java Version:  1.5.0_16-b02
               1.6.0_17-b04
Database: Oracle 11g Release 11.1.0.6.0

Когда я использую файл jar OJDBC14.jar он подключается к базе данных каждый раз Когда я использую файл JAR OJDBC5.jar он подключается несколько раз, а иногда выдает ошибку (показано ниже) Если я перекомпилирую с Java 6 и использую OJDBC6.jar Я получаю те же результаты, что и OJDBC5.jar

Мне нужны определенные функции в JODB5.jar, которые недоступны в OJDBC14.jar

Любые идеи

Error

> Connecting to oracle
    java.sql.SQLException: Io exception: Connection reset
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:494)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
    at java.sql.DriverManager.getConnection(DriverManager.java:525)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at TestConnect.main(TestConnect.java:13)

код

Ниже приведен код, который я использую

import java.io.*;
import java.sql.*;
public class TestConnect {
    public static void main(String[] args) {
        try {
            System.out.println("Connecting to oracle"); 
            Connection con=null;
            Class.forName("oracle.jdbc.driver.OracleDriver");
            con=DriverManager.getConnection(
               "jdbc:oracle:thin:@172.16.48.100:1535:sample",
               "JOHN",
               "90009000");
            System.out.println("Connected to oracle"); 
            con.close();
            System.out.println("Goodbye");
        } catch(Exception e) { e.printStackTrace(); }
    }
}

Ответы [ 13 ]

0 голосов
/ 28 апреля 2015

OracleXETNSListener - эта служба должна быть запущена, если она была отключена.

run -> services.msc 

и обратите внимание на эти услуги

0 голосов
/ 22 июня 2012

Отключение баннеров SQL Net спасло нас .

0 голосов
/ 23 мая 2012

Обратите внимание, что предложенное решение использования / dev / urandom сработало впервые для меня, но не сработало всегда после этого.

Администратор базы данных в моей фирме переключил «баннеры SQL * net», и это навсегда исправило это для меня с или без вышеуказанного.

Я не знаю, что такое «SQL * net banner», но надеюсь, разместив здесь эту информацию, что если у вас есть (есть) администратор БД, он (вы) будет знать, что делать.

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