empiezo a trabajar con Java e Informix, tengo este codigo de conexion.
Código Javascript:
Ver original
import java.sql.*; import javax.swing.*; public class ConectarMotor{ public void cargarDriver() throws ClassNotFoundException{ try{ Class.forName("com.informix.jdbc.IfxDriver"); //System.out.println("Se conectó perfectamente con el Informix JDBC driver"); }catch(ClassNotFoundException excepcion){ JOptionPane.showMessageDialog(null, "ERROR: falló la carga del Informix JDBC driver. \n" + excepcion.getMessage(), "Atención", JOptionPane.INFORMATION_MESSAGE); return; } } public void crearConexion(String nombreMaquina, String nombreBase, String nombreInstancia, String nombreUsuario, String passwordUsuario) throws SQLException{ try{ connection = DriverManager.getConnection("jdbc:informix-sqli://" + nombreMaquina + ":9080/" + nombreBase + ":INFORMIXSERVER=" + nombreInstancia + ";user=" + nombreUsuario + ";password=" + passwordUsuario); }catch(SQLException excepcion){ JOptionPane.showMessageDialog(null, "ERROR: No se pudo establecer la conexión con la base. \n" + excepcion.getMessage(), "Atención", JOptionPane.INFORMATION_MESSAGE); return; } } public ResultSet ejecutarQuery(String sentenciaPasada) throws SQLException{ //aquí la variable "sentencia" pasada como parámetro, debe ser del tipo SQL. try { ResultSet resultado = null; PreparedStatement sentenciaPreparada = null; ResultSetMetaData metaResultado = null; sentenciaPreparada = connection.prepareStatement(sentenciaPasada, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); resultado = sentenciaPreparada.executeQuery(); metaResultado = resultado.getMetaData(); return resultado; }catch(SQLException excepcion){ JOptionPane.showMessageDialog( null, "ERROR: fallo la ejecución de la sentencia. \n" + excepcion.getMessage(), "Atención", JOptionPane.INFORMATION_MESSAGE); //System.out.println("ERROR: " + e.getMessage()); return null; } } public void ejecutarUpdate(String sentenciaPasada) throws SQLException{ //aquí la variable "sentencia" pasada como parámetro, debe ser del tipo SQL. try { PreparedStatement sentenciaPreparada = null; sentenciaPreparada = connection.prepareStatement(sentenciaPasada, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); sentenciaPreparada.executeUpdate(); }catch(SQLException excepcion){ JOptionPane.showMessageDialog( null, "ERROR: fallo la ejecución de la sentencia. \n" + excepcion.getMessage(), "Atención", JOptionPane.INFORMATION_MESSAGE); //System.out.println("ERROR: " + e.getMessage()); } } private Connection connection; private Statement sentencia; }
y la otra clase:
Código Javascript:
Como trabajo con eclipse, este me dice que no acepta String en crearConexion(), podrian ayudarme??. Ver original
import java.io.*; public class InConexion { public static void main(String[] args) { // TODO Auto-generated method stub ConectarMotor link = new ConectarMotor(); String nombreMaquina,nombreBase,nombreInstancia,nombreUsuario,passwordUsuario; nombreMaquina = "10.2.11.92"; nombreBase = "12345"; nombreInstancia = "asdf"; nombreUsuario = "user"; passwordUsuario = "12345"; link.crearConexion(nombreMaquina,nombreBase,nombreInstancia,nombreUsuario,passwordUsuario); //Aqui esta el error } }