FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
sql o delphi
tengo una base de datos en interbase 6 y estoy comenzando con los campos blob, el caso es quiero insertar imagenes en la base de datos.
tengo una tabla TFotos con un campo blob para la inserción de las imagenes para ser practico estaria declarada mas o menos asi
segun yo tenia entendido size era el tamaño en bytes pero creo que esoty equivocado ya que al ver la declaracion de la tabla resulta que esta el numero -15789 no es el que me muestra, no recuerdo el numero exacto pero era algo parecido. en delphi utilizo los componentes para interbase la db, transaccion y un tabla. para insertar una imagen hago algo parecido a esto
al ejecutarlo la imagen si se inserta en la base de datos pero me manda un error del cual solo recuerdo error sql -104, se que con un try finally pudiera dejar de mostrar el mensaje de error, pero quiero saber que es lo que hice mal?, en donde esta el error?, interbase solo trabja con imagenes bmp ya que con imagenes jpg no pude insertar, tambien quisiera obetener info hacerca de los campos blob ya que por mas que le busque en la que biene en interbase no mas no me saco de dudas en especial lo de sub_type, ya que no engo el archivo donde se supone biene la explicacion de estos. De antemano gracias por la ayuda. PD. Disculpen por no acordarme de todo lo necesario |
#2
|
|||
|
|||
El segment size no es el tamaño maximo de los blobs sino el tamaño de cada segmento. El valor por defecto si no se indica es de 80 , pero eso no significa que solo se puedan guardar 80 bytes, sino que el cliente, pedira la informacion
del blob en bloques de 80 bytes. Segun la documentacion el segment size se guarda en un word (maximo 65535) pero por otro lado indica que el maximo es 32767. Esta variacion depende si se considera una variable de tamaño word con signo o sin signo, si es sin signo se puede almacenar un numero entre 0 y 65535, si es con signo en la misma variable se puede almacenar un numero entre -32768 y 32767. Te esta mostrando el valor negativo porque al devolver la informacion de las tablas, interbase esta considerando el valor con signo de modo que el valor 50000 es demasiado alto y entra dentro de los valores negativos que la variable si la consideramos con signo puede guardar: 32768 - 50000 = -17233 mas o menos Asi que basta que indiques un valor mas pequeño que 32768. Saludos |
#3
|
|||
|
|||
Cita:
Dynamic SQL error SQL Error code = - 104 unexpected end of command; |
#4
|
||||
|
||||
sobre el error
por lo que veo, la sentencia SQL está mal escrita, o más bien dicho, está mal terminada ... Revisa bien la forma de insertar imágenes en interbase, porque es eso parece lo que está provocando el error ...
__________________
|
#5
|
|||
|
|||
Cita:
La verdad no le entendi muy bien a tu codigo. Que exactamente sugieres. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|