Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird > Débuter
Débuter Forum d'entraide pour débuter avec Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/01/2011, 15h17   #1
mballasse
Invité de passage
 
Homme Michel BALLASSE
Responsable de projet fonctionnel
Inscription : juillet 2010
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Michel BALLASSE
Âge : 45
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2010
Messages : 21
Points : 0
Points : 0
Envoyer un message via Skype™ à mballasse
Par défaut Migration d'une base Interbase 6 vers Firebird 2.5

Bonjour à tous,

Je dois migrer une base Interbase 6.0 en FireBird 2.5
Quelques questions relatives aux réglages, dans l'état de l'art :
- SQLDialect
- CharacterSet
- Role

- concernant le SQLDialect, je n'ai aucune procédure stockée et je peux aisément batcher mes tables via un programme Delphi si l'opération de backup/restore entre Interbase et Firebird ne marche pas
- concernant le CharacterSet, je voudrais me tourner vers de l'UNICODE, même si pour le moment je n'en ai pas le besoin
- concernant le Role, je n'ai pas d'idée précise sur les fonctionnalités apportées par cette propriété
mballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2011, 16h27   #2
Barbibulle
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 726
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 43

Informations forums :
Inscription : octobre 2002
Messages : 1 726
Points : 2 375
Points : 2 375
Si c'est vous qui avez créé la base interbase 6 ou qui avez migré vers interbase 6. Vous avez du choisir le dialect 3.

Et donc il n'y a pas de changement de dialect. Sous Fb2.5 utilisez le dialect 3.

Lorsque j'ai migré de fb 2.0 (ou1.5) vers 2.1 j'ai du respecter la procédure décrite dans le sous rétertoire de firebird misc\upgrade\metadata j'imagine qu'il vous faudra y passer également avec fb2.5. Avant fb2.1 tout ce qui est métadata était sans charactere set, ce qui n'est plus le cas. La procédure en question vous permet d'identifier les éventuelles problèmes et vous aide à les corriger.
Il est vrai que j'ai beaucoup de PS mais il n'y a pas que ca qui peut poser problème, les descriptions d'objets par exemple...


Pour ce qui est de l'UNICODE, vous dites ne pas en avoir le besoin, donc je serai vous je commencerai par regarder si les applications que vous développez sont prêtes pour l'unicode. Par exemple sous Delphi 6,7 les composants orientés données ne gèrent pas l'UNICODE en natif. Et donc au final d'estimer le travail pour les passer en unicode .

Dernier point, les ROLES, c'est pour gérer la sécurité de votre base. Lorsque vous créez un utilisateur il faut lui donner les droits sur chacun des objets qu'il aura droit de manipuler. (Ce qui regrésente un certain nombre de grant ...)

Si la personne part ou n'a plus les même droits et est remplacer par une autre il faut retirer les droit à l'ancienne et donner les droits à la nouvelle ce qui représente encore une fois un certain nombre de grant (et si ce n'est pas une procédure automatique avec le risque d'erreur...)...

Les ROLEs permettent de gérer plus simplement les droits. Au lieu de donner les droits d'accès aux différents objets à une personnes vous les donnez à un ROLE. Voyez ces roles comme un groupe.
Vous devez créer et donner les droits à une nouvelle personne, il vous suffit de lui attribuer le ROLE. Plusieurs personnes peuvent utiliser un même ROLE. Et pour retirer les droits d'une personne il suffit de lui retirer son droit d'utiliser le ROLE.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2011, 19h32   #3
mballasse
Invité de passage
 
Homme Michel BALLASSE
Responsable de projet fonctionnel
Inscription : juillet 2010
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Michel BALLASSE
Âge : 45
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2010
Messages : 21
Points : 0
Points : 0
Envoyer un message via Skype™ à mballasse
Bonjour
Je n'ai pas créé la base Interbase source.
Par contre j'ai bien crée la base Destination sous Firebird 2.5 en SQLDialect 3 et CharacterSet WIN1252.

Lorsque je fais un backup en mode Transportable Format et que je restaure sous FireBird en mode Replace Existing Database tout semble OK.

A l'ouverture de la base j'ai le message d'erreur suivant :
Databse SQL Dialect 1 does not support rerefence to TIME datatype.

Comment dois je faire pour batcher ma base Interbase vers Firebird.
Car je n'ai 'que' 142 tables popur un volume de 800 Mo.
J'ai bien tenté d'exporter en SQL le contenu de ma base Source et de rejouer le script d'insertion dans la base destination.
Mais pour les grosse stables, le temps de traitement est impensable, sachant que j'ai 6 bases de données (en volumétrie à peu prés similaire) à convertir.

Je prends toutes les solutions.

Merci pour votre aide.
mballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2011, 21h09   #4
mballasse
Invité de passage
 
Homme Michel BALLASSE
Responsable de projet fonctionnel
Inscription : juillet 2010
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Michel BALLASSE
Âge : 45
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2010
Messages : 21
Points : 0
Points : 0
Envoyer un message via Skype™ à mballasse
La seule solution que j'ai trouvé pour le moment est de faire un
GFIX -sql_dialect 3 sur la base.

Peut on être certain que cela n'a en rien altéré les données contenus dans la base ?
mballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2011, 21h45   #5
Barbibulle
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 726
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 43

Informations forums :
Inscription : octobre 2002
Messages : 1 726
Points : 2 375
Points : 2 375
Cela dépend du type de vos données...

Le gfix ne convertie pas une base dialect 1 en dialect 3 il ne fait que changer la valeur du dialect. Autrement dit vous risquez bien de corrompre votre base.

Notamment si vous avez des données de type DATE ou numeric/Decimal avec une précision supérieur à 9 NUMERIC(10,2) par exemple.

Il y a 2 méthodes pour changer de dialect.
La première consiste à recréer une base en dialect 3 et utiliser un programme qui va transférer toutes les données.

La seconde 'manuelle' et est plus compliquée et risquée si vous vous trompez est décrites dans "Migration Guide (IB 5.x and below to IB 6.0)"
http://firebirdsql.org/index.php?op=doc#category_9.

Vous pouvez également consulter ce sujet http://www.developpez.net/forums/d10...ment-dialecte/
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2011, 17h45   #6
mballasse
Invité de passage
 
Homme Michel BALLASSE
Responsable de projet fonctionnel
Inscription : juillet 2010
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Michel BALLASSE
Âge : 45
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juillet 2010
Messages : 21
Points : 0
Points : 0
Envoyer un message via Skype™ à mballasse
OK je vais donc m'orienter vers la solution 1 même si cela met du temps, cela garantira l'intégrité des donnes me semble t il ...


Merci pour vos réponses éclairées
mballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h09.


 
 
 
 
Partenaires

Hébergement Web