🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #443

Re: Error al recuperar rs en Modo debug

#443
From: Flint
Date: Tue, 30 Oct 2007 18:45
84 lines
3916 bytes
On Tue, 30 Oct 2007 03:24:39 -0700, Diego
<diego_arcidiacono@hotmail.com> wrote:

>Hola, espero puedan ayudarme pues me he vuelto loco con este errror!!
>El tema es que cada vez que ejecuto el programa en modo degub me da un
>error al acceder a los elementos del ResultSet.
>Es como que cuando arma el rs lo hace mal y luego en el acceso a los
>campos de una fila del misma da error.
>Lo peor de todo es que sin modo debug anda, pero en debug no. Yo no se
>si a alguien le a pasado esto alguna vez. Tengo conexion ODBC sobre un
>MSSQL server 2000. Le dejo un ejemplo de codigo. Les agradezco
>inmensamente.
>Diego
>

No te lo tomes a mal, pero tu c�digo tiene alg�n defectillo. En primer
lugar no se cierra la conexi�n (malo) y luego capturas directamente un
exception as� a pi��n (malo) y no escribes la traza (malo tambien) con
lo que no sabes cu�l es la causa raiz de tu problema.

Cambia tu c�digo por este:

public static void main(String[] args) {
ResultSet rs = null;
Connection con = null;
try {
	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*** Crear conexi�n con base de datos ***/
con = DriverManager.getConnection("jdbc:odbc:SCAP");
/***** Definir sentencia y ejecutarla ********/

Statement sentencia = con
		.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
				ResultSet.CONCUR_READ_ONLY);
rs = sentencia
		.executeQuery("SELECT A.codigo as codigo,A.descripcion
as descripcion FROM TArticulo A WHERE A.eliminado IS null");
while (rs.next()) {
	System.out.println(rs.getString("codigo") + ", "
+ rs.getString("descripcion"));
	}
	rs.close();
} catch (ClassNotFoundException e) {
	System.err.println("Clase sun.jdbc.odbc.JdbcOdbcDriver no se
pudo cargar");
	e.printStackTrace();
} catch (SQLException e) {
	System.err.println("Error de SQL al ejecutar statement");
	e.printStackTrace();
} finally {
if(con != null) {
	try {
		con.close();
} catch (SQLException e) {
	System.err.println("No se pudo cerrar la conexion.");
			e.printStackTrace();
		}
	}				
}
	}



Cuando lo ejecutes, deber�a salirte en consola la traza. La m�a sale
as� porque, evidentemente, no tengo definido el DSN ni tengo esa base
de datos. A t� te saldr� otra cosa. Ejemplo:

Error de SQL al ejecutar statement
java.sql.SQLException: [Microsoft][Administrador de controladores
ODBC] No se encuentra el nombre del origen de datos y no se especific�
ning�n controlador predeterminado
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at es.prueba.Prueba.main(Prueba.java:21)


Dinos qu� te sale en la traza y a ver si te podemos ayudar. De
momento, f�jate en c�mo est�n capturadas las excepciones y c�mo se usa
la cl�usula finally para cerrar la conexi�n.
Technical Details
Message-ID: <7juei3lgedo27nltn4011otbutcpablcm5@4ax.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
References: <1193739879.735242.75750@o80g2000hse.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,a6eb45d6e2b4b090
X-Google-Attributes: gid1116f3,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Flint <flint@dirfalsa.es>
Newsgroups: es.comp.lenguajes.java
Subject: Re: Error al recuperar rs en Modo debug
Date: Tue, 30 Oct 2007 19:45:43 +0100
Lines: 85
Message-ID: <7juei3lgedo27nltn4011otbutcpablcm5@4ax.com>
References: <1193739879.735242.75750@o80g2000hse.googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: individual.net VS1relaEWvZMKPpyBN+0RwxRFCxBbV6aQssRq9IlwRSIXARBQy
Cancel-Lock: sha1:Mqs6sxfdWvhnMz7RCZbnf5om16U=
X-Newsreader: Forte Agent 4.2/32.1118