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

Error oracle ORA-00947

Estas en el tema de Error oracle ORA-00947 en el foro de Oracle en Foros del Web. Hola Estoy trabando con java y sql 8i y he creado la siguiente tabla: statement.executeUpdate("CREATE TABLE DATOSREF(iddatosref varchar2(100), idlistadatos varchar2(100), href varchar2(100) NOT NULL, texto ...
  #1 (permalink)  
Antiguo 10/02/2007, 12:09
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 18 años
Puntos: 1
Error oracle ORA-00947

Hola
Estoy trabando con java y sql 8i y he creado la siguiente tabla:

statement.executeUpdate("CREATE TABLE DATOSREF(iddatosref varchar2(100), idlistadatos varchar2(100), href varchar2(100) NOT NULL, texto varchar2(100) NOT NULL, CONSTRAINT PK1_ID_DATOSREF PRIMARY KEY(iddatosref), CONSTRAINT FK1_ID_LISTADATOS FOREIGN KEY(idlistadatos) REFERENCES LISTADATOS(idlistadatos))");

y ahora tengo que insertar los datos que provienen de un documento xml y lo hago de la siguiente forma:

for(int nr=1;nr<=mde.numraiz; nr++){
for(int nh=1;nh<=mde.numhijo; nh++){
int m=0;
String insertardr = " INSERT INTO DATOSREF VALUES" + "('" + nh + "," + nr + "," + mde.textoatrhijo[nh][m+1] + "," + mde.textoatrhijo[nh][m+2] + "')";
statement.executeUpdate(insertardr);
System.out.println(insertardr);
}
}

donde nh y nr es un numero y textoatrhijo[nh][m+1] y textoatrhijo[nh][m+2] es texto que seria el href y texto respectivamente de la tabla creada.
Y al compilar me da el siguiente error:

ORA-00947: no hay suficientes valores

Y yo encuentro la forma de solucionarlo, porque si la tabla tiene 4 valores e inserto 4 valores, no deberia dar problemas al insertar pero los da.
Alguien me podria decir como lo puedo solucionar. Muchas gracias de antemano.
Mari
  #2 (permalink)  
Antiguo 12/02/2007, 09:06
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Re: Error oracle ORA-00947

Cita:
Iniciado por maribajar Ver Mensaje
String insertardr = " INSERT INTO DATOSREF VALUES" + "('" + nh + "," + nr + "," + mde.textoatrhijo[nh][m+1] + "," + mde.textoatrhijo[nh][m+2] + "')";
El error puede estar en esa comilla simple que pones al inicio del paréntesis, por lo que veo, lo cierras al final del paréntesis, puede que lo tome como un solo valor. Son los que estan con negrita.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
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 09:04.