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

Drama con Oracle en aplicación de escritorio

Estas en el tema de Drama con Oracle en aplicación de escritorio en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 26/11/2011, 12:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 40
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Drama con Oracle en aplicación de escritorio

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 CMD_IngresarActionPerformed(java.awt.event.ActionE vent 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);
}
}





Ahora lo del 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: @: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();
}
}

Hice lo mismo en sql server y no me puso ningún drama, en cambio en Oracle me ha puesto demasiados problemas.

Cualquier ayuda se agradece
  #2 (permalink)  
Antiguo 30/11/2011, 12:47
 
Fecha de Ingreso: septiembre-2011
Mensajes: 40
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Drama con Oracle en aplicación de escritorio

Me respondo a mí mismo:

Está de más los : en

String dsn = "jdbc:oracle:thin:@:localhost:1521:XE";

Debería ser así:

String dsn = "jdbc:oracle:thin:@localhost:1521:XE";

Etiquetas: netbeans, oracle, procedimiento_almacenado
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 12:12.