Bonjour,
J'ai besoin de transformer des données BLOB d'une base de données en 2k sur une base de données en 8k, et je ne sais pas trop comment faire...
Merci d'avance pour votre aide :)
Version imprimable
Bonjour,
J'ai besoin de transformer des données BLOB d'une base de données en 2k sur une base de données en 8k, et je ne sais pas trop comment faire...
Merci d'avance pour votre aide :)
Si je comprends bien il s'agit de transférer les données d'un serveur vers un autre?
Si oui est-ce que bcp est une option?
Alternativement on doit pouvoir utiliser une table proxy pour faire cette opération - dans ce cas on crée la table proxy qui mappe la table source sur le serveur de destination, et ensuite c'est un simple insert ... select ... en ayant au préalable mis l'option TEXT_SIZE à une valeur suffisamment élevée pour pouvoir traiter le champs TEXT/IMAGE le plus grand.
Pour plus de détail sur les tables proxy il faut voir la doc sous "create existing table".
Michael
on a déjà fait l'export de la table en bcp, mais notre logiciel (interne à l'entreprise) ne reconnait pas le type IMAGE, donc toutes les autres données sont bien exportées sauf les BLOB. Est ce qu'il y a un logiciel qui permet de faire une telle export? ou on le fait à la main, ou avec SyBase Central?...
en attendant je vais regarder ce qu'on peut faire avec les proxy
L'utilitaire "bcp" permet d'exporter une table:
où <textsize> est la taille maximale d'un champ blob, et où on définit des séparateurs de colonnes et de ligne ad-hoc (-t et -r).Code:
1
2 bcp db.owner.table out table.bcp -Uxxx -Pyyy -Szzz -c -T<textsize> -t'%%&&%%' -r'%%\n'
On peut trouver la taille maxi d'un champ image comme ceci:
L'import se fait ensuite à nouveau avec bcp, en remplaçant out par in, et éventuellement en mettant un "batch size" (-b <nombre de ligne>)Code:
1
2 select max(datalength(<image_column_name>)) from <table>
Michael
merci beaucoup! ça a super bien marché avec bcp, mon chef il est content ^^
bravo à toi et merci! :king: