Bonjour,
Je travaille sur Oracle 10g (niveau d�butant...)
Je vous expose mon probl�me:
_ J'ai une application 1 qui me cr�e automatiquement un utilisateur/sch�ma (j'ai du mal � voir la diff�rence), avec toutes les tables associ�es
_ J'ai une application 2 qui est une interface utilisateur pour rentrer des donn�es dans les tables cr��es par l'application 1.
Nous venons de recevoir une nouvelle version des applications 1 et 2: on pourrait tout recommencer � z�ro , ce serait le plus simple, mais les utilisateurs chez moi ont commenc� � rentrer plein de donn�es (alors qu'on est en phase de test, grrrr) et ne veulent pas recommencer toute leur saisie.
j'ai fait comme �a:
1/ Export de la base existante
Avec la commande exp file=C:\sauvegarde.dump full=y
2/ Je cr�e un nouveau sch�ma dans ma base Oracle
Cr�ation d�un nouvel utilisateur/sch�ma dans Oracle avec mon application 1
3/ Import de la base dans le nouveau sch�ma vide
Avec la commande imp file=C:\sauvegarde.dump fromuser=<old_schema> touser=<new_schema> ignore=y
Ca me permet de prendre uniquement ce qui m'int�resse dans mon fichier dump pour remplir le nouveau sch�ma vide, et le "ignore=y" est indispensable pour ne pas avoir un arr�t � cause du fait que les tables existent d�j�
Ca marche bien en apparence (toutes les donn�es sont copi�es d�un sch�ma � l�autre) mais le probl�me est que l'import ne respecte pas les valeurs pour les colonnes correspondant aux identifiants (cl�s primaires) : lors de l�import, oracle reprend � 1 une num�ration incr�mentale pour chaque ID, ce qui fait que les relations entre tables sont parfois rompues, et donc c�est le foutoir ensuite dans les donn�es!!
Exemple: j'avais un table nomm�e "IMPROVEMENTS", avec 4 objets saisies dedans, qui portent le ID_IMPROVEMENTS (cl� primaire): 1, 2, 4 et 6
(ces chiffres ne se suivent pas certainement parce que j'ai du supprimer les objets portant les ID 3 et 5...)
Et bien, apr�s import, j'ai bien 4 lignes dans la table IMPROVEMENTS de mon nouveau sch�ma, mais les identifiants sont 1, 2, 3 et 4!! Un grand nombre de fonctions de mon application 2 est bas�e sur des liens entre les tables, avec utilisation de ID_IMPROVEMENTS comme cl� �trang�re, il n'y a donc plus rien qui marche...
Comment faire pour que l'import du Dump me g�n�re des valeurs identiques pour TOUS les �l�ments de toutes mes tables, m�me pour ceux qui sont cl�s primaires?
Merci pour vos conseils
(j'esp�re avoir �t� clair...)
Partager