Ingres/importaion DB Ingres 2006
Expert: Jean-Pierre Zuate - 5/19/2008
QuestionQUESTION: bonjour
dans l'entreprise où je travail je travail sous une BD Ingres 2006, qui je veux l'exporter sur mon ordinateur portable où Ingres 2006 est installé.
j'ai utilisé unloaddb pour l'exportation mais quand je copie les fichier générés dans mon portable et je clique sur reload.bat rien ne se passe, même pas un message d'érreur.
j'ai essayer d'éditer le ficier reload.bat mais son résultats, aide moi SVP.
MERCI
ANSWER: Bonjour,
reload.bat peut être aussi lancé sous DOS (Démarrer / Exécuter / cmd) et ainsi vous verrez les messages d'erreur.
Que voulez vous dire par "j'essaie d'éditer le fichier reload.bat mais sans résultat" ?
1/ Vous sélectionnez le fichier reload.bat avec la souris
2/ Clic droit
3/ Choisir "modifier"
Quelques erreurs possibles ...
Je suppose que sur les 2 installations Ingres vous avez :
- les mêmes noms de base
- les mêmes noms de location (et le même nombre pour la base que vous transportez)
- la même liste d'utilisateurs déclaré dans Ingres
- les mêmes valeurs pour II_DECIMAL, II_MONEY_FORMAT, II_DATE_FORMAT, II_MONEY_PREC de chaque coté
Cordialement,
Jean-Pierre ZUATE
http://www.lafageconseil.fr
---------- FOLLOW-UP ----------
QUESTION: Bonjour
merci de m'avoir répondu
je vais exposé mon problème autrement,
au travail j'ai ingres 2006 installer sur Linux redhat
sur mon micro portable j'ai installer ingres 2006 sur windwos XP
mon problème c'est comment faire pour transporter ma base sur le serveur local de mon micro portable (non relier au réseau d'entreprise) au lieu de la créer à nouveau.
l'installation sur le portable ne contient aucune base
pouvez vous me donner une méthode on Step By Step SVP je ne suis pas pro avec le SGBD Ingres 2006. merci.
ANSWER: Bonjour,
Désolé du retard, mais je étais temporairement dans une zone sans internet ...
Les réponses que vous cherchez sont dans ce document :
http://www.commentcamarche.net/faq/sujet-5470-import-export-de-donnees-ingres
Globalement les données dans Ingres se transportent par les commandes unloaddb et copydb. La documentation Ingres fourmille d'informations sur le sujet.
Le lien que je vous présente plus haut est en français et consiste en un résumé. Il suppose d'avoir quelques bases concernant Ingres. Il existe quelques informations, en français aussi, à cette adresse :
http://www.commentcamarche.net/faq/479-ingres
L'approche est la suivante :
Sur le serveur redhat :
$ mkdir repertoire
$ cd repertoire
$ unloaddb -c votre_base
$ ./unload.ing > unload.log 2>&1 &
$ cd ..
$ tar cvf repertoire.tar repertoire
$ gzip repertoire.tar
Copier le fichier repertoire.tar.gz sur votre PC. Décompressez le à l'aide de 7-zip par exemple, puis effectuez les operations suivantes :
- dans les fichiers reload.ing et copy.in, enlevez tous les chemins au format Unix (ne laissez que les noms des fichiers)
- dans le fichier copy.in modifiez \nocontinue en début de fichier par \continue (cela permet de créer les objets même s'il y a des erreurs
Faites moi savoir si vous avez besoin de plus d'information sur le sujet.
- repérez les noms des locations et des utilisateurs propriétaires d'objets
Sur le PC Windows :
- créer les locations (même nom, même type)
- créer les utilisateurs
- créer la base et l'étendre aux mêmes locations si besoin
Lancer les commandes suivantes :
> cd repertoire_decompresse
> copy reload.ing reload.bat
> reload.bat > reload.log
Lisez bien l'astuce sur commentcamarche.net car il faut faire attention à ce que certaines variables aient la même valeur sur les installations Ingres source et cible.
Bon courage.
Jean-Pierre ZUATE
http://lafageconseil.fr
---------- FOLLOW-UP ----------
QUESTION: bonjour
j'ai suivi votre démarche, et j'ai quelques problèmes.
-pour la copie de répertoire qui contient la base sur mon portable c'est fait (un repertoire contient des fichiers *.sys, *._in et les 2 fichiers unload.bat et reload.bat)
-j'ai aussi modifié ncontinue par continue
- sur mon portable j'ai créer une base qui porte le même nom que la base importer (son chemein est
C:\Program Files\Ingres\Ingres [II]\ingres\data\)
pour l'instant ma question est la suivante
comment repérez les noms des locations et des utilisateurs propriétaires d'objets.
je veux dire aussi que quand je click sur reload.bat une fençetre dos s'ouvre et se ferme rapidement sans rien faire.
merci de votre patience.
AnswerHello,
Comment repérer les noms des utilisateurs possédant des objets ?
1/ La méthode "fine"
Dans le fichier copy.in, repérez tous les utilisateurs mentionnés dans la phrase SQL "set session authorization"
Sous Unix lancez une commande du genre :
grep "set session authorization" copy.in
2/ La méthode "massive"
Sur le serveur RedHat
a/ lancer la commande Ingres "accessdb"
b/ choisir le menu "Users"
c/ choisir le menu "SQLScript"
Dans le répertoire courant où vous étiez avant de lancer la commande vous aurez un fichier users.sql qui contiendra tout le SQL nécessaire pour créer tous les utilisateurs de l'installation (et donc peut être un peu plus que ceux qui possède des objets dans votre base mais ce n'est pas si grave)
Copiez le fichier users.sql sur le serveur Windows
Lancez la commande suivante (depuis une fenêtre DOS)
sql iidbdb < users.sql
Comment repérer la liste des locations :
Sur le serveur redhat
infodb votre_base | grep DATA
Vous aurez une liste à 3 colonnes, la première est le nom de la location. Utilisez accessdb sur le serveur windows pour créer ces locations. Si vous trouvez une location ii_database ne créez rien, elle existe par défaut. Si vous trouvez une liste de locations, il faudra étendre la base à ces locations (utilisez accessdb). La location marquée ROOT,DATA est la location racine de la base, et il faut la spécifier lors du createdb : createdb votre_base -dnom_de_location
Quand vous cliquez sur reload.bat il ne se passe rien
SVP n'utilisez pas l'explorer pour faire ce genre de manipulation, pour la raison précise que vous citez. Windows ouvre une fenêtre (un shell), lance la commande (qui se plante pour une raison X ou Y) et ... ferme la fenêtre, donc vous ne voyez rien. Refaites la même manipulation depuis une fenêtre DOS et vous verrez les messages en question. Le mieux est de lancer une commande du genre :
reload.bat > reload.log
Ainsi dans le fichier reload.log vous verrez les erreurs en question (avec notepad par exemple).
Concernant ma patience, il y a une phrase en arabe qui dit "la choukran ala wajib" (ne me remerciez pas pour un devoir ;-)
Hope this help,
Jean-Pierre