Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema convirtiendo blob (con texto) a varchar (https://www.clubdelphi.com/foros/showthread.php?t=77480)

Walterdf 31-01-2012 03:33:37

Problema convirtiendo blob (con texto) a varchar
 
Buenas!

Me pasaron una base para convertir un campo blob con registros con texto a un varchar.
La base es Firebird 2.1 y estoy usando Flamerobin como admin de la base.
Lo que hice fue crear un campo nuevo de tipo varchar(1500) y tratar de pasar los datos del campo blob a varchar de esta manera:

UPDATE tabla tbl SET tbl.CAMPOVARCHAR = cast( substring(tbl.CAMPOBLOB from 1 for 1500) as varchar(1500) )

Funciona, pero el problema es que no me está reconociendo los caracteres con acento, ñ, etc.

La base está creada como charset NONE. El campo lo creé de la misma manera.
También intenté creando el campo varchar como charset ISO8859_1 collate ES_ES_CI_AI y me sigue pasando lo mismo.

Lo raro es que si hago un Save As de un registro del blob a un archivo de texto, lo guarda perfecto, con acentos y todo.

Por el momento no intenté hacerlo desde otro cliente.

Alguien tiene idea de que estoy haciendo mal? Es posible la conversion?

Mil gracias desde ya

Un abrazo.

Walterdf 31-01-2012 03:50:06

Me contesto yo solo. Igual si alguien tiene otra sugerencia, bienvenida sea.

El campo blob fue creado como sub_type 0 que según la documentación de firebird es para datos binarios.
Deberían haberlo creado como sub_type 1 que es para texto.

Pase los datos del blob sub_type 0 a otro blob sub_type 1 y luego a varchar y todo ok.

Gracias de todas maneras

Un abrazo!


La franja horaria es GMT +2. Ahora son las 19:22:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi