Necesito lanzar una ejecución de consulta desde un programa java

Necesito ejecutar consultas de acción de Access desde un programa Java. Tengo una BD Access con tablas y vínculos a tablas de MySQL. He construido consultas de eliminación y anexado de datos para pasar registros de las tablas access a las de MySQL vinculadas y ahora lo que necesito es lanzar la ejecución de esas consultas desde un programa Java. He visto objetos para ejecutar procedimientos almacenados, pero no funciona con las consultas Access. ¿Sabrías cómo puedo hacerlo?

1 respuesta

Respuesta
1
Yo realice un ejemplo bajo las siguientes condiciones espero que sea de utilidad.
1. Cree una base de Datos Access
2. Cree tablas y procedimientos almacenados(¿acciones?)
3. Cree un ODBC al access(desconozco si existen drivers exclusivos para access)
4. Cree el siguiente programa en java
public class Test {
public static void main(String[] arg) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ee) {
ee.printStackTrace();
}
String dsn = "jdbc:odbc:ACAI";
String user = "";
String password = "";
// Conectar a la Base de Datos
Connection con = null;
try{
//sun.jdbc.odbc.JdbcOdbcConnection con = ( sun.jdbc.odbc.JdbcOdbcConnection)DriverManager.getConnection(dsn, user, password);
con = DriverManager.getConnection(dsn, user, password);
CallableStatement cs = con.prepareCall("{call Consulta}");
cs.execute(); //Es un Update asi que exceute() devuelve false
cs = con.prepareCall("{call Anexar(?,?)}");
cs.setInt(1,10); //Los indices empiezan en 1
cs.setString(2,"Algun valor");
cs.execute();
}catch(SQLException sqle){
sqle.printStackTrace();
}finally{
try{
con.close();
}catch(SQLException s){s.printStackTrace();}
}
}
}
El programa es solo ilustrativo, tiene un mal manejo de la excepciones, y valores de retorno pero espero que pueda ser útil, este documento también podría ayuda:
http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/callablestatement.html
Ojala sea de utilidad, y espero haber captado cual era tu consulta.
Perfecto. Ha funcionado como quería. Es que intenté primero con las clases que incorpora el JBuilder (ProcedureDataSet y QueryDataSet) pero no me iba. Y con lo que me habían contado de java.sql tampoco me iba. Muchas gracias :-))

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas