Inconveniente en conexión Java con Oracle

Agradezco si por favor me pueden colaborar con los siguiente, estoy trabajando Java en Netbeans para realizar una conexión a una base de datos Oracle, para ello utilizo el siguiente código, en una clase con nombre conexión.java:

package modelo;
import java.sql.*;
public class Conexion {
public Conexion(){
}
public Connection getConexion(){
Connection con=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String BaseDeDatos = "jdbc:oracle:thin:@localhost:1521:XE";
con=DriverManager.getConnection(BaseDeDatos, "LA BASE DE DATOS", "CONTRASEÑA"); // bd_persona, SYSTEM
System.out.println("Conexion exitosa a esquema HR");
} catch (Exception e){
System.out.println("La conexion ha fracasado HR");
}
return con;
}
}

A que se debera, el error?                                                                                                                                                

Al correr el programa y quieres realizar un insert, la aplicación me muestra que no se puede insertar información me dice "Registro erróneo". El codigo esta desarrollado de acuerdo a los dos siguientes videotutoariales, primer videotutorial: https://www.youtube.com/watch?v=AUcibt-cf4E&t=196s                 Segundo videotutorial:https://www.youtube.com/watch?v=51vZ1KHSgjw&t=41s 

1

1 respuesta

Respuesta
1

Yo creo que te falla aquí,.

con=DriverManager.getConnection(BaseDeDatos, "LA BASE DE DATOS", "CONTRASEÑA"); // bd_persona,

con=DriverManager.getConnection(“jdbc:oracle:thin:"LUGAR DE LA BASE DE DATOS","USUARIO","CONTRASEÑA");

Hola muchas gracias por su ayuda, pero pese a que tengo lo siguiente:

package modelo;
import java.sql.*;
public class Conexion {
public Conexion(){
}
public Connection getConexion(){
Connection con=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// con=DriverManager.getConnection("jdbc:oracle://localhost:1521/bd_persona","SYSTEM", "Cali7962");
String BaseDeDatos = "jdbc:oracle:thin:@localhost:1521:XE";
con=DriverManager.getConnection(BaseDeDatos, "bd_persona", "Cali7962"); // bd_persona, SYSTEM
System.out.println("Conexion exitosa a esquema HR");
//thin:@localhost:1521:XE [SYSTEM on SYSTEM]
//con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE [SYSTEM on SYSTEM]","SYSTEM", "Cali7962");
/*System.out.println("Conexion exitosa a esquema HR");
}*/
} catch (Exception e){
System.out.println("La conexion ha fracasado HR");
}
return con;
}
}

Al ejecutar el archivo, la aplicación no me inserta registros, ni me los modifica, como si la aplicación no se pudiera conectar con la base de datos, peor aun no me muestra los mensajes que están en el System.out.println.

Pero con ese código lo único haces es conectarte a la base de datos, nada más. Ni insert ni update,

Te falta crear los stamentos.

 Statement stmt = con.createStatement();

Stmt.executeUpdate("Sentencia SQL de insertar o moficar")

Claro,esos los tengo creados en otras clases del proyecto, lo que estoy es realizando lo siguiente:

https://www.youtube.com/watch?v=AUcibt-cf4E&t=180s 

https://www.youtube.com/watch?v=51vZ1KHSgjw&t=44s&index=11&list=PLgNDtQznREL5IjmgkhHG8gf_gbbe1tSnU 

Has probado, que la conexión a la base de datos es correcta. En la parte izquierda del netbeans en el explorador hay una pestaña llamada servicios/services y allí tienes las bases de datos/databases y crea una nueva conexión para probar tu base de datos y conectarla.

Hola Edorta, este es el inconveniente que tengo:

https://www.youtube.com/watch?v=cs0tAb25zjs 

En principio yo te vuelvo a pedir, que pruebes la conexión. https://www.youtube.com/watch?v=tgFTLdFF8A4  es importante que tengas la libreria para crear la conexion.

Si eso no funciona. Lo mejor es poner puntos de interrupción en netbeans e ir paso a paso.

Te dejo un video de paso a paso https://www.youtube.com/watch?v=w_-H4SCAUVw 

Espero que puedas encontrar el problema.

Yo es que nunca use bases de datos de oracle, yo normalmente trabajo con mysql

Hola, pues este es el inconveniente que tengo con la aplicación incluso desarrolle paso a paso laq aplicación y este es el resultado:

https://www.youtube.com/watch?v=1EInA6kz5hU 

Gracias!.

Yo creo que no te tienes que fijar tanto en los errores internos del propio java. Fíjate más en el código que has hecho, a ver si ves algún error. Sobre todo yo me fijaría en 2 cosas, la primera la fecha que entre el input date a los datos que pasa a oracle son iguales, y después mirar si personas tiene una clave primaria autoincremental o algo así que es lo más normal, que no se meta la clave te la genere el solo pasando primer dato como null.

Hola los datos que tengo en la base de datos son los siguientes:

cc varchar2(20 byte) no 1
Apellidos varchar2(50 byte) yes 2
Nombres varchar2(50 byte) yes 3
fechanacimiento date yes 4
lugarnacimiento varchar2(50 byte) yes 5

Y el código a pesar de que cambie DNI por cc tanto en los campos como en el código no me inserta los registros.

Aquí te dejo la conversión de la fecha al guardarla.

String Incor = request.getParameter("Fecha");  //Aqui te guardo la fecha en un String desde el HTML

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); // Ponemos un formato de fecha.

java.util.Date incor_ = formatter.parse(Incor); // Le damos el formato al String.

java.sql.Date fecha_cambiada = new java.sql.Date(incor_.getTime()); //Aqui pasamos del formato de fecha de java al formato de fecha de SQL que es el que guarda la base de datos.

Y ya en el Insert enviamos fecha_cambiada para guardarl la fecha.

Hola, muchas gracias lo que pasa es que al incl

uir el código que me dices me sale lo siguiente:

No pero a ver te he puesto ejemplo. En ese String recibimos el text del textbox o lo que sea de fecha. si ves mas arriba recibes nombres = vistaCRUD.txtNombre.getText();

Pues es igual a eso pero con la fecha.

¡Gracias! Muy amable, mil bendiciones ya di con la conexión, es así:

package modelo;
import java.sql.*;
public class Conexion {
public Conexion(){
}
public Connection getConexion(){
Connection con=null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","SYSTEM","Cali7962");
System.out.println("Conexion exitosa a esquema HR");
} catch (Exception e){
System.out.println("La conexion ha fracasado ");
}
return con;
}
}

Saludos!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas