Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2008
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Asignar un varchar a un blob

Hola,

Tengo hecho un procedure que al ejecutarlo me da el siguiente error: "Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. internal error."

Todo me hace pensar que el error me lo da porqué asigno una varialbe varchar (250) a una variable blob (subtype text).

Mi problema es el siguiente:
Tengo una seria de parámetros de salida:
Código:
    PBASAN_DELACION19 BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PBASAN_MUT21 BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PBASAN_MUT20 BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PBASAN_CHFR BLOB SUB_TYPE 1 SEGMENT SIZE 80,
...
I a estos según una condición les tengo que asignar una de estas dos variables (varchar o blob):
Código:
DECLARE VARIABLE TEXTOCORTO VARCHAR(250) CHARACTER SET NONE;
DECLARE VARIABLE TEXTOLARGO BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET NONE;
El problema está en que antes tenía declarados los parámetros de salida cómo varchar, y claro, cuándo asignaba el blob al varhcar da error. Pero ahora que tengo los parámetros de salida cómo blob me sale el error descrito.


Muhcas gracias.
Responder Con Cita
  #2  
Antiguo 27-06-2008
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.
No puedes asignar directamente un dato de tipo varchar a otro de tipo blob.

Si usas la libreria FreeUDFLib, usa la función F_STRBLOB para asignar el dato varchar al blob sin problemas.

Código SQL [-]
DECLARE EXTERNAL FUNCTION F_STRBLOB
    CSTRING(254),
    BLOB
RETURNS PARAMETER 2
ENTRY_POINT 'StrBlob' MODULE_NAME 'FreeUDFLib';
Como referencia, te dejo el link de un artículo de Ivan Prenosil sobre los campos blob: http://www.volny.cz/iprenosil/interb...ib_strings.htm

Saludos.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 27-06-2008 a las 17:58:19.
Responder Con Cita
  #3  
Antiguo 30-06-2008
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Cita:
Empezado por defcon1_es Ver Mensaje
Hola.
No puedes asignar directamente un dato de tipo varchar a otro de tipo blob.

Si usas la libreria FreeUDFLib, usa la función F_STRBLOB para asignar el dato varchar al blob sin problemas.


Código SQL [-]DECLARE EXTERNAL FUNCTION F_STRBLOB
CSTRING(254),
BLOB
RETURNS PARAMETER 2
ENTRY_POINT 'StrBlob' MODULE_NAME 'FreeUDFLib';




Como referencia, te dejo el link de un artículo de Ivan Prenosil sobre los campos blob: http://www.volny.cz/iprenosil/interb...ib_strings.htm

Saludos.
Ok, muchas gracias por la información y por los links.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Asignar contenido de campo Blob a un OleContainer (MsWord) albeiro_ospina Conexión con bases de datos 1 18-08-2006 23:23:51
Que es Mejor un Varchar o Blob brandolin Firebird e Interbase 4 14-03-2005 02:23:15
UDF para convertir de un BLOB Type Text a un Varchar???? AGAG4 SQL 0 06-12-2004 19:59:47
cast de BLOB a VARCHAR o CHAR Angel Firebird e Interbase 1 03-10-2003 18:41:20
Como convertir un campo VARCHAR a uno BLOB, si se puede? judoboy Firebird e Interbase 10 31-07-2003 17:28:45


La franja horaria es GMT +2. Ahora son las 22:37:17.


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
Copyright 1996-2007 Club Delphi