Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query.

Estas en el tema de Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query. en el foro de Java en Foros del Web. Buenos días de nuevo foreros Estoy intentando realizar una consulta a un servidor SQL SERVER pero me da error. Teniendo el siguiente codigo (Pongo lo ...
  #1 (permalink)  
Antiguo 25/01/2008, 04:32
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query.

Buenos días de nuevo foreros


Estoy intentando realizar una consulta a un servidor SQL SERVER pero me da error.
Teniendo el siguiente codigo (Pongo lo relevante):
Código:
	private static Connection objConexion = null;
	private static Statement objEstamento = null;
	private static ResultSet objRecordset = null;


	private static void Metodo()
	{
				try 
				{					
					DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
					objConexion = DriverManager.getConnection("jdbc:sqlserver://SRVDESSQL:1433;databaseName=BD;user=USU;password=CLAVE");
									
					objEstamento = objConexion.createStatement();					
					objRecordset = objEstamento.executeQuery("select * from MITABLA");					
					
					objRecordset.beforeFirst();
					while(objRecordset.next())
					{
						System.out.print(objRecordset.getString(1) + "  " + objRecordset.getString(2)+"\r\n");						
					}	

				} catch (Exception ex) {
					System.out.print("ERROR : " + ex.getMessage());
				}		
	}

Y el error que me sale es el siguiente:
ERROR : La operación solicitada no es compatible en conjuntos de resultados exclusivamente de reenvío.


¿Saben como puedo solucionarlo?
__________________
Charlie.

Última edición por chcma; 25/01/2008 a las 04:41
  #2 (permalink)  
Antiguo 25/01/2008, 04:53
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Re: Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query.

Solucionado, sobraba el: objRecordset.beforeFirst();

Un saludo.
__________________
Charlie.
  #3 (permalink)  
Antiguo 19/04/2008, 11:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 3
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query.

Ejemplo que me anda:

import java.sql.*;
public class sql2k5
{
public static void main(String[] args)
{
// Variable de la cadena de conexión
String connectionUrl ="jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;"+
"databaseName=PruebaSql;integratedSecurity=tru e;";
// Crear los objectos JDBC
Connection con = null;
Statement stat = null;
ResultSet rs = null;
int count = 0;
String SQL = "";

try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver");
con = DriverManager.getConnection(connectionUrl);

// Crear y ejecutar una sentencia SQL que retorna algunos datos
SQL = "SELECT TOP 10 * FROM Personas";
stat = con.createStatement();
rs = stat.executeQuery(SQL);

while (rs.next())
{
System.out.println(rs.getString("Nomb_Pers") + ", " + rs.getString("Apellid_Pers"));
}

// Crear una tabla nueva
System.out.println("\nCREAndo TABLE: pituco ...");
SQL = "CREATE TABLE pituco (col1 int IDENTITY, col2 varchar(50), col3 int)";
stat = con.createStatement();
count = stat.executeUpdate(SQL);
stat.close();
System.out.println("ROWS AFFECTED: " + count);

// Insertando datos en la tabla TestTable
System.out.println("\nINSERTING SOME DATA INTO pituco ...");
SQL = "INSERT INTO pituco (Col2, Col3) VALUES ('a', 10)";
stat = con.createStatement();
count = stat.executeUpdate(SQL);
System.out.println("ROWS AFFECTED: " + count);
stat.close();
}
// Manejo de cualquier error ocurrido
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (rs != null) try { rs.close(); } catch (Exception e) {}
if (stat != null) try { stat.close(); } catch (Exception e) {}
if (con != null) try { con.close(); } catch (Exception e) {}
}
}
}
  #4 (permalink)  
Antiguo 24/08/2012, 15:36
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Ayuda - JDBC Sql Server 2005, Se conecta pero no hace query.

bueno amigo yo tambien busque la respuesta, hice un remedio feo con la pista de rogima pero aqui esta la solución correcta. Cuando creas un statement debes decir que tipo de cursores tendran(los cursores son los que te permiten moverte a traves del resultset).
Te recomiendo que leas estas paginas

http://msdn.microsoft.com/es-es/library/ms378405(v=sql.90).aspx para saber mas del driver sql server
y http://docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html para que te enteres de las propiedades de los resultsets y como establecerlas . Bueno otro arreglo incorrecto seria ponerle un count a tu consulta para que sepas cuantas filas recuperaste.

SOLUCION:


java.sql.Statement Statement = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Los parametros son constantes de la clase resultset

listo con eso podras hacer resultSet.beforefirst; , beforelast y todo lo demas para obtener el numero de filas. si quieres mas informacion de la consulta crea un objeto databasemetadata que te lo da el resulset.getmetadata() espero que le sirva a la gente! suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.