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

Consulta a Base de datos vía ODBC (jdbc)

Estas en el tema de Consulta a Base de datos vía ODBC (jdbc) en el foro de Java en Foros del Web. Saludos, desde hace algun rato me encuentro en un bache que no me permite avanzar... El caso es que tengo una conexion a una base ...
  #1 (permalink)  
Antiguo 20/02/2013, 09:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 17
Antigüedad: 17 años, 9 meses
Puntos: 0
Consulta a Base de datos vía ODBC (jdbc)

Saludos, desde hace algun rato me encuentro en un bache que no me permite avanzar...

El caso es que tengo una conexion a una base de datos tipo sql-anywhere de sybase cuyo servidor se encuentra en otra pc. En mi pc utilizo un origen de datos tipo ODBC para hacer la conexion con el servidor de sybase, mientras que en JAVA hago la conexion al origen de datos ODBC.

Mi problema radica en que cuando hago una consulta por medio de la conexion que en java es el driver jdbc-odbc a la base de datos sybase accesando a un stored procedure, no me devuelve resultado alguno siempre es 0 el numero de registro que devuelve, por otro lado genero un reporte por medio del ireport y sin embargo si me muestra el informe de manera correcta...

Estoy seguro que el problema radica en la manera como hago la consulta no se si es el sql que uso o si es por el tipo de llamada de java (PreparedStatement - CallableStatement)... igual paso a darles el codigo para ver si tienen una idea de cual puede ser mi error:

uso unos metodos creados por mi para hacer la conexion al odbc...

AdminBD c = new AdminBD();
c.AbrirConexion(0);

CallableStatement ej= c.getConexionPool().prepareCall("{call \"DBA\".fact_rep_documentos_productos_pines_01( ?, ?, ?, ?, ?, ?, ?, ? )}");

ej.setString(1, "003");
ej.setString(2, "2013/01/01");//cadenaFecha1);
ej.setString(3, "2013/02/15");//cadenaFecha2);
ej.setString(4, "FV/NV/TV");
ej.setString(5, "001/002/003/004/005/006/007/008/009/");
ej.setString(6, "0011");
ej.setString(7, "013/002/017/004/014/007/008/006/012/015/005/016/003/001/011/009/010");
ej.setString(8, "N");

ej.executeQuery();

Este es un metodo creado por mi para asignar un resultSet a mi conexion...
c.setRegistrosBD(ej.getResultSet());

Muestra el numero de registros devueltos por el stored procedure:
System.out.println( c.getRegistrosBD().getRow());
System.out.println( ej.getResultSet().getRow());

el resultado siempre es 0...
  #2 (permalink)  
Antiguo 20/02/2013, 13:32
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 7 meses
Puntos: 306
Respuesta: Consulta a Base de datos vía ODBC (jdbc)

Un resulset nuevo siempre apunta a la línea 0, antes del primer registro.

Muévelo al primer registro.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: odbc, vía
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:16.