DB2 - Error -102

 
Vista:

Error -102

Publicado por AvantasiA (2 intervenciones) el 06/11/2006 12:08:58
Buenos dias!
Tengo un problema al hacer un Update. La cosa, esque tengo que actualizar un campo de 400 posiciones, pero el SPUFFI me da el error DB2 -102. ( No se puede meter mas de 254 caracteres o longitud del texto superior al campo de la tabla).

La longitud de los datos que quiero introducir es de 300 posiciones, asi que el error debe ser debido a que supero los 254 caracteres que decia anteriormente.

ejemplo:
********************************************
UPDATE RAS.SVRR14
SET DATOS = 'Texto de 300 posiciones'
WHERE NUM_PROYECTO = 1111
AND TIPO = '2'
AND CONTADOR = 2
********************************************

Alguien podia ser tan amable de decirme otra manera de actualizar estos datos?
Solo tengo como herramienta el SPUFFI de DB2, y obligatoriamente ha de ser esta la longitu del campo, es decir, 300 posiciones.

Un saludo y gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error -102

Publicado por Chauli (43 intervenciones) el 07/11/2006 02:41:38
Hola, antes que nada, Que es el SPUFFI de DB2?
Estuve probando formas de meter mas de 254 caracteres mediante la ventana de mandatos y las unias formas que encontre fueron las siguientes
1) utilizando el caracter " \ " para poder separar la consulta en varias lineas por ejemplo
db2 => SELECT \ (ENTER)
db2 (cont)=>* FROM EMPLOYEE (ENTER)
de esa forma se puede dividir la consulta en varias lineas, pero tiene dos problemitas, primero si no pones un espacio entre en ultimo caracter de cada linea y el " \ " te tira un error porque no conoce la sentencia SQL SELECT\ o parecidas y ademas cuando se divide la consulta en varias lineas fuerza un espacio en blanco en cada retorno de linea, esto lo podes ver mejor intentando dividir una palabra clave en dos ej.
db2=>SEL \ (ENTER)
db2 (cont)=>ECT * FROM EMPLOYEE (ENTER)
eso lo toma como SEL ECT * FROM EMPLOYEE, con un espacio en blanco entre SEL y ECT y entonces da error, fallas parecidas tiene el segundo metodo que consiste, en escribir db2 -td! en la ventana de mandatos
Esto hace que puedas ingresar consultas con retornos de carro y automaticamente te las concatena, pero con el espacio que te dije antes.
Por ahi si tu cadena de texto de 300 caracteres tiene un espacio en el medio la podes cortar por ahi con los metodos que te dije y puede ser que funcione

UPDATE RAS.SVRR14 SET DATOS = 'subsecuencia hasta el espacio en blanco \
subsecuencia despues del espacio en blanco'
WHERE NUM_PROYECTO = 1111
AND TIPO = '2'
AND CONTADOR = 2
(ENTER)
O algo asi, es muy rebuscado, no se si a travez del centro de mandatos se podra hacer ese update
Espero que sirva
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error -102

Publicado por Avantasia (2 intervenciones) el 07/11/2006 13:02:44
Hola!
Lo primero, gracias por contestarme a la duda, para alguna cosilla me ha servido, jeje, gracias.

El spuffi, es una herramienta que nos permite hacer consultas y demas ordenes sobre las bases de datos. Es algo asi como el centro de mandatos que me dices tu que utilizas.

Voy a probar lo que tu me has dicho, a ver si me da resultado, pero de todas formas, ya logre hacerlo. Me he creado un programa simple en el que hago unicamente este update. Los datos se los paso por variable y listo, me hace la actualizacion correctamente, y los datos, los visualizo correctamente donde los necesito. Lo unico que es un rollo tener que ejecutar el programa cada vez que quiero hacer algo con tantos datos. Estoy seguro de que tiene que haber una forma sencilla de hacerlo por el centro de mandatos, ya que es extraño que por programa no de problemas, y por spuffi y demas si.

Gracias de nuevo.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error -102

Publicado por Marcos Olvera Flores (1 intervención) el 25/02/2011 03:29:53
verifica el tipo de dato para dicha tabla .....
no te confies mucho de esto la verdad no e utilizado db2 pero por el tipo de error asimili que esta erroneo el tipo de datos ....
espero te sirva mi respuesta, si no disculpa seguire practicando
.... inicio a utilzarlo (db2)...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar