Bonjour,
Je sais que l'on ne peut pas modifier le contenu d'un BLOB texte directement par une requête SQL, mais voici mon problème :
J'effectue l'importation de données depuis une table Paradox vers une table Interbase sous Delphi. J'utilise un composant TTable pour parcourir le contenu de ma table Paradox et génère une requête SQL qui s'exécute sur le serveur Interbase pour la mise à jour des enregistrements nouvellement créés (je précise que la table a été précédemment créée sur Interbase, et remplie avec des enregistrements bidons). Et parmi les champs à importer, j'ai bien évidemment des champs BLOB (sous-type 1, c'est à dire texte), que je souhaite conserver sous forme de BLOB et pas les changer en varchar(32000) par exemple.
La seule solution (non encore testée) que j'ai trouvé pour l'instant est d'associer un composant TDBMemo pour le champ BLOB source Paradox, un autre composant TDBMemo pour le champ BLOB cible Interbase, et pour chaque enregistrement lu dans ma table Paradox, je copie le contenu de mon TDBMemo Paradox dans le TDBMemo Interbase puis je lance une requête SQL paramétrée qui utilise le contenu du TDBMemo Interbase pour mettre à jour le BLOB Interbase. Je ne sais même pas si ça va marcher en l'état, ou si je suis obligé de passer par un couple TIBQuery/TIBUpdateSQL...
Si quelqu'un a déjà rencontré le problème et connait une solution, je suis preneur :-)
PS : j'espère que les explications que j'ai donné sont claires, je m'y perds moi-même un peu...
Partager