|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
Bonsoir,
Lors d'une conversion de tables paradox vers interbase, peut-on récupérer les champs blobs ET leurs contenus (image ou memo) en respectant bien sûr le paramétrage des sub_types sans provoquer d'erreurs ? Où perd-on définitivement leurs contenus ? Merci d'avance pour vos réponses. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui sous interbase il existe le type BLOB et il y a des sous-types pour préciser si c'est de type mémo, binaire, user, ...
Donc je ne vois pas pourquoi on ne pourrait pas récupérer les info de paradox pour les injecter sous interbase. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
Merci de m'avoir répondu.
Je ne comprends pas, si je vide ma table interbase de ses données cela bugge quand même. Cela voudrait dire que la syntaxe ci-dessous est mauvaise : Code :
Code :
"arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets".
Savez-vous à quoi cela peut-il être dû ? |
||
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Code :
Essaye d'enlever la derniere virgule et ca devrait marcher : Code :
|
||||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
Pardon, erreur de frappe sur la virgule finale lors du post.
La table se crée parfaitement mais compilation impossible car erreur renvoyée: Justement, c'est ce que je ne comprends pas. La table est créée, la requête semble correcte, pourtant je ne peux pas compiler. Qu'est-ce que ce message d'erreur: Code :
"arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets".
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Je m'en doutais que c etait une erreur de frappe (ou plutot de copier/coller) mais en fait je ne comprend pas bien ou et quand tu as ce message d'erreur ?
Tu parles de compilation d'un programme C++ ? Delphi ? autre ? De plus ce message est celui qui est donné lorsqu'on essaye d'insérer des caractères non autorisé par le charactere set dans un char ou varchar (ou blob de type memo...) Ensuite je le rappel au cas où, car je ne sais pas du tout si c'est ton cas vu qu'a part le message d'erreur on ne sais pas trop ce que essaye de faire et comment... : On ne peux pas faire des insert ou update de colonne de type blob rien qu avec un ordre SQL. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
Le langage utilisé est Delphi.
Grâce à tes explications, je crois comprendre que l'erreur vient des types de champ possible sous paradoxe (comme l'incrémentation automatique, entre autres...) et non transférables par du SQL sous Interbase. Ce que j'essaie de faire, c'est de porter une application qui tourne depuis 3 ans sous paradoxe vers Interbase. Je souhaitais récupérer tous les champs de mes tables et si possible, mais cela paraît utopique, leurs contenus. Je crains d'avoir à réécrire toutes mes tables, leurs contenus et par voie de conséquence, l'ensemble de mon appli. Ce qui me paraît fou. Peux-tu me confirmer qu'il n'y a donc pas de portabilité "réelle" de Paradox vers Interbase ? |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
je ne sais pas comment tu essayes de convertir tes données Paradox vers Interbase...
Si tu rencontres des problèmes c'est que tu utilises un outils de transfert... Ce qui est certain c'est qu'en faisant un programme Delphi tu pourra facilement transferer tes données de Paradox vers Interbase... Si tu nous en disait plus sur comment tu procèdes, on pourra mieux te conseiller... De plus je suis de plus en plus persuadé que tu as un probleme de définition du character Set de ta base interbase ce qui explique ton message d erreur ... |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
J'ai tenté de les convertir en utilisant deux méthodes : IBPUMP et Le module de Données de delphi.
Pour certaines tables cela a marché parfaitement. Mais pas du tout pour celles qui contiennent des blobs ou encore des index secondaires (et mon appli est truffée d'index secondaires). Je vais donc essayer de faire un prog delphi de transfert pour y parvenir. Pour ce qui est du "character Set", ma base interbase est en ISO8859_1. Le Dialect est 3. Merci de me consacrer du temps en essayant de m'aider. |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Lorsque tu as déclaré la connexion à Interbase as tu précisé que tu voulais utiliser la character Set ISO8859_1 ?
Car sinon il va considérer que tu n'en utilise pas. Ca va marcher tant que tu n'essayera pas d'insérer des données avec des caractères accentués par exemple. Dans ce cas il va y avoir un message d'erreur car ta base est en iso8859_1 mais pas ta connection.... |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : août 2002 Messages : 20 ![]() |
Tout d'abord merci à toi Barbidulle et merci à ce forum d'exister.
Mon appli fonctionne parfaitement avec la table (la plus conflictuelle) ... sous Interbase. Je viens de migrer cette fameuse table avec des blobs de toutes sortes. Voila ce qui s'est passé, lorsque j'ai migré mes tables paradox, par IBPUMP, j'avais beau les paramétrer en SQL Dialect 3 et en Character Set ISO8859_1, le résultat donnait malgré tout après la migration un Dialect 1 et un character set par défaut. Ce qui renvoyait le message d'erreur que j'ai indiqué et des données présentes mais inaccessibles. Ayant pris le soin de bien faire attention à ces 2 paramètres, je ne pensais pas du tout que cela pouvait venir de là. Barbidulle m'a montré où pouvait se situer l'erreur par ses conseils. J'ai donc converti tables et récupéré mes données par IBPUMP. Puis j'ai utilisé IBADMIN et j'ai forcé la déclaration du Dialect SQL et du Character Set. Bilan : cela fonctionne. Merci encore.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com