Traspaso datos firebird a MSSQL - Problema con campos Blob
Buenas tardes,
Estoy intentando realizar un traspaso de datos desde una base Firebird a MSSQL y me encuentro con un curioso problema en relación con los campos de comentarios (blobs). Resulta que en firebird varias tablas tienen campos tipo Blob (tBlobField) y lo que necesito es pasarlo a su equivalente en SQL (campo text). Tengo otras aplicaciones de traspaso realizadas con otra versión anterior de delphi (2007) en las cuales el código siguiente funcionaba sin problema :
Ahora al intentar compilar el mismo código con Delphi XE5 obtengo el siguiente código de error: [dcc32 Error] traspasoSbiwTOSbiol50.pas(775): E2010 Incompatible types: 'AnsiString' and 'System.TArray<System.Byte>' He buscado y consultado diversos foros y por lo que me parece el problema tiene que ver con el cambio a Unicode que se aplicó en delphi 2009 (al menos eso me ha parecido entender). He probado diversas soluciones y cambios aconsejados, de momento sin éxito. Alguien se ha encontrado con problema similar y puede echarme un cable ?? Muchas gracias por cualquier sugerencia. Saludos, Vicente |
Supongo que la representación de los Blobs para cada base de datos se hace diferente (AnsiString y Array of byte)
¿Has probado asignar el valor del campo a un TStrings y luego asignar esta variable al nuevo campo? Otra posibilidad, si se trata de textos es tratar de utilizar algo así: También se me ocurre generar Streams para cargar los campos.
|
Buenos días,
La primera opción que me aconsejaste funcionó perfectamente. Creía haberla probado ya, pero debí cometer algún error porque ahora ha funcionado a la primera. Muchas gracias por tu ayuda !! Saludos Vicente |
La franja horaria es GMT +2. Ahora son las 18:26:16. |
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