Chapitre VIII Outils pour Ingres écrits par le CIR
  • VIII-1 Les outils de transfert Ingres *
    • VIII-1-1 Ingres vers micro *
    • VIII-1-2 Ingres vers Mac *
    • VIII-1-3 Ingres vers PC *
    • VIII-1-4 Micro vers Ingres *
    • VIII-1-5 Mac vers Ingres *
    • VIII-1-6 PC vers Ingres *
    • VIII-1-7 Ingres vers logiciels Unix *
  • VIII-2 Les outils de documentation Ingres *
  • VIII-3 Les outils sur les tables et les bases *
    • VIII-3.1 chown.table *
    • VIII-3.2 helpbase *
    • VIII-3.3 listatt *
    • VIII-3.4 schemadef *
  • VIII-4 Les outils simplifiant l'usage de commandes *
    • VIII-4.1 cemb : compile et fait l'édition de liens d'un programme écrit en embedded C *
    • VIII-4.2 femb : compile et fait l'édition de liens d'un programme écrit en Fortran *
    • VIII-4.3 imprime *
    • VIII-4.4 ingnuit *
    • VIII-4.5 isql *

VIII-1 Les outils de transfert Ingres Il s'agit d'outils permettant le transfert de données numériques, ou textuelles avec accents, de Ingres vers d'autres logiciels, sur Unix ou sur micros (Mac, PC), et de micros vers Ingres sur Unix. Signalons aux utilisateurs de Mac deux outils convertissant les textes accentués lorsqu'on effectue un transfert de fichier par MacNix : sunvermac et macversun.

Tous ces outils sont autodocumentés, leur appel sans argument invoquant, tantôt un dialogue demandant les arguments à fournir, tantôt la syntaxe exacte.

Pour plus d'informations, notamment une première utilisation, se référer à la note du CIR "Transferts de données de bases Ingres" de décembre 1993.

La liste suivante peut toutefois servir d'aide-mémoire :
 

VIII-1-1 Ingres vers micro VIII-1-2 Ingres vers Mac
ingverexcel sunvermac
ingverword ingverexcelmac ou ingverex
ingverdoc ingverwordmac ou ingverw
  ingverdocmac ou ingverd
  ingver4d
  VIII-1-3 Ingres vers PC
  inverexcelpc
  ingverwordpc
  ingverdocpc
VIII-1-4 Micro vers Ingres VIII-1-5 Mac vers Ingres
excelvering macexvering ou exvering
wordvering macwordvering ou wvering
  4dvering
  macversun
  VIII-1-6 PC vers Ingres
  pcexvering
  pcwordvering

 
 
VIII-1-7 Ingres vers logiciels Unix
ingvertab
exporting
ingverspad
ingversas
labelversas


VIII-2 Les outils de documentation Ingres Le CIR a dégagé quelques principes et une méthodologie pour documenter les bases : les relations, leurs attributs, et les modalités éventuelles de ces derniers. 

Chaque administrateur de base de données est invité à suivre ces recommandations qui rendent homogène la documentation de toutes les bases. Il dispose, pour cela, d'outils interactifs, développés sous forme d'applications Windows4GL. Ces outils s'utilisent sous un environnement X (station, terminal X, ou émulateur X sur micro).

Se reporter pour plus d'informations à la note "Documentation des bases de données Ingres - Méthodologie et outils"


VIII-3 Les outils sur les tables et les bases

VIII-3.1 chown.table

$ chown.table base propriétaire nouveau_propriétaire table

Permet de dupliquer une relation d'une base en changeant le nom du propriétaire. Assurez vous que le nouveau propriétaire n'a pas déjà une relation de ce nom car, sinon, il risque de retrouver des données indésirables dans sa relation. Après exécution correcte, il vous faudra détruire la relation initiale, et aussi le fichier de données ayant servi à faire le transfert.

Pour les très grosses relations, voyez avec les administrateurs d'Ingres pour d'autres méthodes.

Lors de l'exécution, on voit les requêtes sql s'exécuter, et notamment le nombre de tuples exportés, puis importés, vérifiez leur égalité.

Mode d'utilisation :

  • soit on donne les 4 arguments sur la ligne de commande, et dans le bon ordre; 
  • soit on lance la commande sans argument, et ils vous seront demandés interactivement.
exemple :  $ chown.table parcauto st7 iss temp duplique la table temp de l'usager st7 dans la base parcauto. Le nouveau propriétaire est iss (qui, étant administrateur de parcauto, pourra mettre les accès sur temp à plusieurs utilisateurs de la base) VIII-3.2 helpbase

$ helpbase [nom_base]

Cette commande permet, en indiquant un nom de base de données, d'obtenir par ordre alphabétique, le help sur tous les index, tables et vues que vous possédez sur cette base.

Chaque help individuel commencera sur un début de page listing.

La commande crée (écrase si besoin) le fichier résultat nom_base.help

VIII-3.3 listatt

$ listatt [nom_base nom_table]

C'est une commande permettant de créer un fichier contenant la liste des attributs d'une table dont on est propriétaire, un par ligne, séparés par une virgule (sauf au dernier). 

Cette commande peut être utile lorsque l'on a une longue série d'attributs à écrire, au sein d'une requête SQL.

Le fichier nom_table.att est créé si tout se passe bien.

VIII-3.4 schemadef

$ schema2 [nom_base]

schema2 est le nom du script Unix qui lance schemadef. 

schemadef est un outil Ingres (sans support), écrit en ABF, qui aide à la création, la copie, la modification (de nom, de contenu, d'organisation physique) ou au chargement de tables et d'index, ainsi qu'à la création ou gestion de vues.

On se retrouve dans un écran très proche de celui de Tables, avec différentes options de menus, assez intuitives.

Pour plus d'informations, lire le fichier read.me dans le répertoire : ~ingres/sig/schemadef" ou la note "quelques essais sur schemadef" listant les fonctionnalités et quelques limitations détectées.


VIII-4 Les outils simplifiant l'usage de commandes

VIII-4.1 cemb : compile et fait l'édition de liens d'un programme écrit en embedded C

$ cemb nom_programme

VIII-4.2 femb : compile et fait l'édition de liens d'un programme écrit en Fortran

$ femb nom_programme

VIII-4.3 imprime

$ imprime [reqsql.out]

Une commande qui pourra servir à d'autres utilisateurs que ceux de Ingres, elle permet interactivement de choisir la fonte la plus grande possible sur imprimante laser. Ceci peut être utile en sortie de SQL, lorsque le nombre d'attributs est grand. 

Vous aurez le choix entre le format à la française ou à l'italienne, ainsi que du nom de votre imprimante. Ces questions sont posées directement en cours d'exécution.

Si le nom de fichier à imprimer n'est pas donné au niveau commande, il vous sera demandé interactivement.

Remarque : cette commande n'est pas sécurisée, elle fonctionne avec les fontes Courier6 à Courier16.

VIII-4.4 ingnuit

$ ingnuit [nom_base nom_fichier date]

Cette commande permet d'exécuter sous SQL et en différé un ensemble de requêtes (prévues pour être exécutées sous isql avec les ordres File + ReadFile + GO) écrites dans un fichier dont le nom est l'un des arguments fournis à l'appel

Remarques : 

on peut en fait choisir toute heure du jour

ingnuit vérifie que la base existe et n'est pas en erreur

il vérifie que le fichier existe, prévient sinon

le fichier peut contenir n'importe quoi, mais sera temporairement transformé, pour son exécution, en syntaxe SQL.

On trouvera ci dessous un exemple d'appel, avec les réponses de l'usager tapées en gras, et en fin, les commandes de liste des travaux différés et d'annulation du travail différé demandé par ingnuit. DENEB (6) ---> ingnuit 

Voulez vous des explications sur ingnuit ? o/n

n

sur quelle base voulez vous travailler ?

bid

quel est le fichier de sql ?

req.sql

a quelle date voulez vous le lancer ?

ex. de dates : 0815am Jan 24 ou now + 1 hour ou 1900

1200

base = bid , fich_sql = mbox , date = 1200

job 316 at Thu Mar 7 12:00:00 1991

DENEB (7)---> atq

Rank Execution Date Owner Job # Queue Job Name

1st Mar 7, 1991 12:00 macchi 316 a ingnuit.22937

DENEB (8)---> atrm 316

316: removed

Tout le dialogue précédent pour lancer ingnuit aurait pu être remplacé par : $ ingnuit bid req.sql 1200 VIII-4.5 isql Signalons que, lorsque vous lancez isql, le script écrit par le CIR met dans votre session les variables d'environnement suivantes : set autocommit on ;

set lockmode session where readlock = nolock ;

set result_structure g ;