Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Connessione JDBC ed Errore: Got minus one from a read call

1,149 views
Skip to first unread message

lakumc....@gmail.com

unread,
Apr 6, 2009, 5:19:52 AM4/6/09
to
Salve a tutti,
sto provando a connettermi ad un database oracle utilizzando JDBC
ma, appena prova ad eseguire la connessione, mi viene restituito il
seguente messaggio di errore:
----------
java.sql.SQLException: Eccezione IO: Got minus one from a read call
----------

Il codice che utilizzo è il seguente:
-------
Class.forName( "oracle.jdbc.OracleDriver" );
Connection conn = DriverManager.getConnection
("jdbc:oracle:thin:@host:7280:nomeDB", "user", "pass");
-------

Da cosa può dipendere?
grazie

yossarian

unread,
Apr 6, 2009, 5:34:55 AM4/6/09
to
lakumc....@gmail.com wrote:

> sto provando a connettermi ad un database oracle utilizzando JDBC
> ma, appena prova ad eseguire la connessione, mi viene restituito il
> seguente messaggio di errore:
> ----------
> java.sql.SQLException: Eccezione IO: Got minus one from a read call
> ----------
>

> Il codice che utilizzo č il seguente:


> -------
> Class.forName( "oracle.jdbc.OracleDriver" );
> Connection conn = DriverManager.getConnection
> ("jdbc:oracle:thin:@host:7280:nomeDB", "user", "pass");
> -------
>

> Da cosa puň dipendere?

Prova a scaricare la versione piů recente del driver dal sito di Oracle.

Io ho risolto cosě.

Ciao, Y.

lakumc....@gmail.com

unread,
Apr 6, 2009, 6:49:52 AM4/6/09
to
On 6 Apr, 11:34, yossarian <yossaria...@operamail.com> wrote:

> lakumc.tisc...@gmail.com wrote:
> > sto provando a connettermi ad un database oracle utilizzando JDBC
> > ma, appena prova ad eseguire la connessione, mi viene restituito il
> > seguente messaggio di errore:
> > ----------
> > java.sql.SQLException: Eccezione IO: Got minus one from a read call
> > ----------
>
> > Il codice che utilizzo è il seguente:

> > -------
> > Class.forName( "oracle.jdbc.OracleDriver" );
> >                    Connection conn = DriverManager.getConnection
> >                      ("jdbc:oracle:thin:@host:7280:nomeDB", "user", "pass");
> > -------
>
> > Da cosa può dipendere?
>
> Prova a scaricare la versione più recente del driver dal sito di Oracle.
>
> Io ho risolto così.
>
> Ciao, Y.

Ho appena scaricato l'ultima versione del driver,
ma l'errore permane e si sono aggiunti questi altri errori:

Caused by: oracle.net.ns.NetException: Got minus one from a read call
at oracle.net.ns.Packet.receive(Packet.java:243)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:259)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)

Può dipendere dal fatto che c'è un proxy?

yossarian

unread,
Apr 6, 2009, 6:52:07 AM4/6/09
to
lakumc....@gmail.com wrote:

> Può dipendere dal fatto che c'è un proxy?

Hai messo un proxy tra l'applicativo Java e il server Oracle?

Che genere di proxy? Hai verificato che sia supportato da Oracle?

Y.

OcchioDiDrago

unread,
Apr 6, 2009, 10:13:38 AM4/6/09
to
lakumc....@gmail.com (06/04/2009):

Tradotto dall'inglese:

"Ottenuto -1 da una chiamata in lettura"

Ora prova a ricordarti: quale classe contiene un metodo "read" che in
caso di fine flusso restituisca "-1" ?

http://java.sun.com/javase/6/docs/api/java/io/InputStream.html#read()

Il problema secondo me va cercato "dietro" Java: per qualche motivo la
connessione viene chiusa durante la negoziazione iniziale del
protocollo.

La questione del proxy può influenzare relativamente: se è un proxy per
la sola navigazione web non c'entra nulla con Java, se invece per
connetterti al database devi passare attraverso un socks proxy
(utilizzando Hummingbird ad esempio), devi capire con l'amministratore
di rete perchè la connessione ti venga troncata.

--
Scientology: se la conosci la eviti, se la conosci non ti uccide...
http://xenu.com-it.net - http://xenu.freewinds.cx - http://www.xenu.net
(per rispondere personalmente leva IlDitoDalCulo)
---> 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 <---


rootkit

unread,
Apr 6, 2009, 11:14:27 AM4/6/09
to

il driver ti sta dicendo che dall'altra parte l'host gli risponde fuffa.
sei sicuro che su quella porta (che sembra molto casuale rispetto a
quella standard) ti risponda oracle?

lakumc....@gmail.com

unread,
Apr 7, 2009, 4:11:01 AM4/7/09
to

Credo che tu avessi ragione prima.
La porta corretta è la 1521 infatti l'errore è cambiato ed adesso
è il seguente:


java.sql.SQLException: Listener refused the connection with the
following error:
ORA-12505, TNS:listener does not currently know of SID given in
connect descriptor

at oracle.jdbc.driver.SQLStateMapping.newSQLException
(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException
(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException
(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException
(DatabaseError.java:480)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.<init>
(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection
(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DBConnection.main(DBConnection.java:14)
Caused by: oracle.net.ns.NetException: Listener refused the connection
with the following error:
ORA-12505, TNS:listener does not currently know of SID given in
connect descriptor

at oracle.net.ns.NSProtocol.connect(NSProtocol.java:361)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)

yossarian

unread,
Apr 7, 2009, 4:23:58 AM4/7/09
to
lakumc....@gmail.com wrote:

> La porta corretta è la 1521 infatti l'errore è cambiato ed adesso
> è il seguente:
>
>
> java.sql.SQLException: Listener refused the connection with the
> following error:
> ORA-12505, TNS:listener does not currently know of SID given in
> connect descriptor

Devi verificare che lato Oracle il listener sia configurato per
accettare connessioni a "nomeDB" (riprendendo il tuo esempio:
"jdbc:oracle:thin:@host:1521:nomeDB")

Y.

lakumc....@gmail.com

unread,
Apr 7, 2009, 4:41:04 AM4/7/09
to
Finalmente ci sono riuscito,
il server ha accettato la mia richiesta di connessione e posso fare
query sul
DB. Ringrazio tutti per l'aiuto offertomi.

rootkit

unread,
Apr 7, 2009, 7:49:35 AM4/7/09
to
Il Tue, 07 Apr 2009 01:11:01 -0700, lakumc.tiscali ha scritto:


> java.sql.SQLException: Listener refused the connection with the
> following error:
> ORA-12505, TNS:listener does not currently know of SID given in connect
> descriptor

adesso è il nome del database a non essere corretto.

0 new messages