Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problema con una Inserción en Access lanzada desde JAVA

Estas en el tema de Problema con una Inserción en Access lanzada desde JAVA en el foro de Bases de Datos General en Foros del Web. Buenas, tengo un problemilla: Estoy intentando tirar una consulta de inserción en Access metiendo, entre otros valores, un valor nulo en una foreing key de ...
  #1 (permalink)  
Antiguo 12/04/2004, 12:02
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 21 años, 3 meses
Puntos: 0
Problema con una Inserción en Access lanzada desde JAVA

Buenas, tengo un problemilla:
Estoy intentando tirar una consulta de inserción en Access metiendo, entre otros valores, un valor nulo en una foreing key de una tabla. Tirando esta consulta desde el propio Access me deja, pero tirandola desde JAVA con el metodo executeUpdate me da error de restricción violada, desde Access este campo esta definido exigiendo integridad referencial, pero que yo sepa la integridad referencial no se viola metiendo un valor nulo.
¿Alguien sabe por qué me sucede esto?
  #2 (permalink)  
Antiguo 13/04/2004, 01:26
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Desde mi propia ignorancia..... no será que estás duplicando el registro y el error es debido a otro valor no a ese nulo?????
  #3 (permalink)  
Antiguo 13/04/2004, 10:45
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 21 años, 3 meses
Puntos: 0
NO
  #4 (permalink)  
Antiguo 14/04/2004, 11:53
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 21 años, 5 meses
Puntos: 0
Pues yo copio a Teri y digo que.... desde mi propia ignorancia estoy por asegurar que Access no permite el valor nulo ni cero en un campo automúmerico y por lo tanto nunca puedes incluir un registro con ese valor en una tabla A que tenga una relación de integridad referencial con la tabla B (en dónde solo existen los valores únicos) porque el valor 0 o nulo nunca existirá


Un beso
  #5 (permalink)  
Antiguo 15/04/2004, 01:09
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Vamos por lo primero, que es lo que va antes....


Estás intentando grabar un Nulo en una foreign key, pero de que lado, de la parte hija de la relación, o de la tabla primaria???
  #6 (permalink)  
Antiguo 15/04/2004, 11:19
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 21 años, 3 meses
Puntos: 0
En la tabla hija;
Te voy a poner exactamente las tablas y la insercción que estoy intentando realizar

Tabla1: Departamentos
DepaCod -> Clave primaria
DepaNombre

Tabla2: Profesores:
ProfDNI -> Clave primaria
DepaCod -> Clave foranea (REFERENCES Departamentos
(DepaCod))

Es decir, a un mismo departamento pertenecen muchos Profesores (1..n).

Inserción que intento realizar:
INSERT INTO Profesores (ProfDNI) VALUES ('634276483-K');

Que yo sepa la restricción de la clave foranea indica que no puedo insertar un DepaCod en Profesores que no exista en la tabla Departamentos pero si un valor nulo, por eso no entiendo el que no me deje o ¿acaso en Access las foreing key tienen la constraint NOT NULL por defecto?
  #7 (permalink)  
Antiguo 15/04/2004, 11:47
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 21 años, 5 meses
Puntos: 0
Mira en el diseño de la tabla Profesores a ver si "DepCode" tiene como Valor Predeterminado 0

Si es así, quítalo y déjalo en blanco

Última edición por amanda75; 15/04/2004 a las 11:48
  #8 (permalink)  
Antiguo 15/04/2004, 15:13
 
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 82
Antigüedad: 21 años, 3 meses
Puntos: 0
Sonrisa

amanda eres la caña, era eso, no lo habría visto ni de coña.
¡¡¡¡¡¡MUCHISIMAS GRACIAS!!!!!!!!
  #9 (permalink)  
Antiguo 17/04/2004, 09:48
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 21 años, 5 meses
Puntos: 0
Ná de gracias querido, son 10.000, pásame los datos que te envio la factura.



Un beso
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 14:35.