Gente, buenas tardes:
Tengo un problema con mi conexión de Netbeans a Oracle.
Ya teniendo instalado el ojdbc14 y hecha la conexión a la base de datos, intento introducir elementos en mi aplicación de escritorio, y al presionar el botón "guardar", me lanza este mensaje:
java.sql.SQLexception: excepcion de e/s: invalid connection string format,
a valid format is "host:port:sid"
Publico acá los códigos de la clase constructora(configuración del botón), y del procedimiento almacenado SP_Ingreso_Constructora
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String id_constructora = txtIdConstructora.getText().toUpperCase();
String nombre_constructora = txtNombreConstructora.getText().toUpperCase();
String direccion_constructora = txtDireccionConstructora.getText().toUpperCase();
int telefono_constructora = Integer.parseInt(txtTelefonoConstructora.getText() );
String contacto_constructora = txtContactoConstructora.getText().toUpperCase();
String driver = "oracle.jdbc.driver.OracleDriver";
String dsn = "jdbc:oracle:thin:@:localhost:1521:XE";
String sql = "{call SP_IngresarConstructora(?,?,?,?,?)}";
String usuario = "tallerbd";
String password = "oracle";
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(dsn, usuario, password);
CallableStatement cstmt = con.prepareCall(sql);
cstmt.setString(1,id_constructora);
cstmt.setString(2,nombre_constructora);
cstmt.setString(3,direccion_constructora);
cstmt.setInt(4,telefono_constructora);
cstmt.setString(5,contacto_constructora);
if (cstmt.execute()) {
JOptionPane.showMessageDialog(null, "La Constructora no pudo ser ingresada");
} else {
JOptionPane.showMessageDialog(null, "Datos ingresados correctamente");
}
cstmt.close();
con.close();
} catch (Exception e1) {
JOptionPane.showMessageDialog(null, e1);
}
}
Acá viene el procedimiento almacenado:
package procedimiento.almacenado;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* @author Rodrigo Alejandro González
* Taller BD Primavera 2011
*/
public class SP_Ingreso_Constructora extends negocio.Constructora{
private Connection Conexion;
private CallableStatement cstmt = null ;
public SP_Ingreso_Constructora()
{
super();
Conexion = null;
}
public SP_Ingreso_Constructora(Connection Con, String id_constructora,
String nombre_constructora,
String direccion_constructora,
int telefono_constructora,
String contacto_constructora)
{
super(id_constructora, nombre_constructora,
direccion_constructora, telefono_constructora,
contacto_constructora);
Conexion = Con;
}
public void Agrega() throws ClassNotFoundException, SQLException
{
//Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver"); Sentencia SQL Server
Class.forName("oracle.jdbc.driver.OracleDriver");
//Connection con=DriverManager.getConnection("jdbc:sqlserver://MARTE:1433;DatabaseName=Prueba", "sa", "gsiinformatica");
Connection con=DriverManager.getConnection("jdbc:oracle:thin: tallerbd/oracle@:localhost:1521:XE"); //, "tallerbd", "oracle");
//URL ==> jdbc:oracle:thin:@localhost:1521:XE
CallableStatement cstmt = con.prepareCall("{call SP_IngresarConstructora(?,?,?,?,?)}");
cstmt.setString(1,id_constructora);
cstmt.setString(2,nombre_constructora);
cstmt.setString(3,direccion_constructora);
cstmt.setInt(4,telefono_constructora);
cstmt.setString(5,contacto_constructora);
cstmt.execute();
con.close();
}
}
Cualquier ayuda se agradece.