|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 22 ![]() |
Bonjour à tous ,
Je plante le décors : J'utilise FireBird 2.5 avec c++Buider XE sous Windows 7 Pro et voici mon souci: Auparavant Je travaillais avec le BDE et utilisais un TbatchMove qui était assez pratique pour faire une Sauvegarde/Restauration de Table. Le BDE n'étant plus du tout conseillé , je suis passé aux "TIBComponents" et là cela se complique pour faire mes export/restore . J'ai don utilisé un TIBOutputRawFile pour exporter ma table et un TIBInputRawFile pour l'imoprt avec un TIBSQL . Mon problème est le suivant j'obtiens une erreur EIBInterbaseError avec Invalid Blob ID lors de la restauration !!!!! Pour cerner le problème j'ai essayé de limiter mes enregistrements à exporter et importer et ai fait les tests suivants : Export sur une plage d'enregistrements 27/04/2011 23:47:00 - 01/05/2011 00:00:00 Erreur invalid Blob ID 27/04/2011 23:48:00 - 01/05/2011 00:00:00 pas d'erreurs 27/04/2011 23:47:00 - 27/04/2011 23:49:00 pas d'erreurs Donc comme l'attestent mes deux derniers tests mon souci ne vient pas d'un enregistrement invalide ou d'une taille incorrecte . Je n'ai pas d'issue et ne trouve rien me permettant de rélaiser ma sauvegarde de table avec ces TIBComponents. Pour information j'avais lu que l'erreur Invalid Blob ID pouvait être dûe à une version obsolète (<2.1) et effectivement je travaillais avec une 2.0 mais je suis passé à la 2.5 sans plus de résultat (apres avoir fait bine sûr un backup/restore de ma base) Peut-être y a-t-il des paramètres à utiliser dans le TIBDataBase ou le TIBtransaction lors de la restauration mais je n'ai rien trouvé de probant depuis plusieurs jours et cette épine dans le pied me fait de plus en plus mal..... Merci d'avance pour vos bons conseils ou astuces |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Bonjour,
Je dirais que votre problème c'est que vous utilisez des composants pour interbase avec une base de données firebird. Je pense que ces composants fonctionnent avec firebird à condition de n'utiliser que les fonctionnalités d'interbase 6.X. Et plus les versions seront différentes plus vous aurez à utiliser ces composants avec firebird. Donc vous avez tout intérêt à troquer vos TIBx par des composants natifs firebird. |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 22 ![]() |
Merci Barbibulle pour ton conseil ,
peux tu m'en dire un peu plus sur l'étendue de l'offre ds le domaine? J'ai vu qu'il y avait UIB,FIBplus et c'est à peu prêt totu non? Avantage de l'un par rapport à l'autre UIB Ne serait pas orientée "données" ??? qu'est ce que cela sous-entend ? je travaille avec des blobs . J'ai commencé à vouloir installer UIB mais apparemment ce n'est pas gagné sosu c++Builder ; il faut installer un package supplémentaire "synedit" qui n'a pas de packahe d'installation radStudio XE !!!!! J'aimerais une fois pour toute faire le bon choix et ne plus arriver découvrir d'impasse à l'avenir..... Apparemment tu ne conseilles pas les composants dbxpress et cela m'arrage puisque le driver Firebird n'est pas inclus dans ma version Merci encore pour ta diponibilité et tes conseils |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Bonjour,
Concernant les composants, tu peux commencer par jeter 1 oeil dans la page Télécharger. Au passage, elle a été relookée mais il manque plusieurs offres dont les IBObjects Pour les UIB, c'est un bon choix, AMHA. Je les utilise sous Delphi, y compris D6 perso... Il n'y a pas besoin de SYNEDIT: il suffit de commenter une ligne dans un fichier INC de la distrib (style HAVE_SYNEDIT): à verifier, sinon une recherche dans le présent forum de donnera la solution (enfin c'est surtout Cl@udius qui la fournit )
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 22 ![]() |
Merci QI130 ,
J'ai finalement réussi à installer la palette avec le lien que tu m'as fourni et cette fois les composants sont installés sauf qu'apparemment ce sont les composants pour RadStudio 2009 (Intitules des composants!!) Peut-etre n'est ce que l'intitulé qui n'est pas bon auquel cas ce ne serait pas très grave. j'ai donc essayé de créer mon premier méga-projet avec un TUIBDatabase que j'ai posé sur ma fiche vierge et j'essais de compliler : et patatra erreur TUIBSQLVar:: :: () ne peut pas être déclaré dans une union anonyme apparemment cela concerne le UiBLib.hpp !!!! une piste? mais bon ce n'est pas encore la priorité de mes inquiétudes : par ailleurs j'ai regardé les propriétés des composants et suis surpris par deux choses: 1°) Un TDataSource ne peut pas pointé sur un TUIBQuery ; il faudrait passer par un TUIBClientDataSet !!! serai-ce là l'explication de la remarque "composant non orienté Données" 2°) Sur un TUIBQuery il n'y a pas de propriété Param ; Habituellement je filtre mes enregistrements suivant plusieurs paramètres que je "passe avant d'éxécuter ma requête. idem pour le TUIBDataSet ; j'aimerais donc savoir s'il est possible de passer des paramètres avec ces compoisants |
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Le Query a 1 propriété Params utilisable ainsi:
Code :
En retour, utiliser Fields: Code :
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
||||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2006 Messages : 22 ![]() |
Merci QI130,
je comprends ton code et un peu plus maintenant la philosophie (si on peut parler de philosophie dans ce domaine!!!) des composants UIB: En simple il faut aller chercher les valeurs une à une pour remplir une Grille et pour les paramêtres , cette propriété n'est disponible qu'à l'éxécution . Comme j'utilisais pas mal de DBGrid/datSource dans lequel j'insérais mes champs automatiquement avec le formatage au design , je pense' comprendre que les UIB même s'ils sont très certainement performants sont assez loin de ce que j'avais l'habitude de faire ; en exemple j'utilisais une requête intermédiaire pour fournir des parametrres à une requête principale en fournissant un DatSource à la requete principale pointant sur ma requete intermédiaire . Là ce n'est plus possible... Je pense donc que je vais me tourner vers les FIB qui sont je pense plus proche de ce que j'avais l'habitude de coder . Merci encore |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com