Bonjour à tous,
Je cherche à faire un infocentre sur une base "répliquée" (hyperfile) qui permettra d'exécuter des requêtes lourdes sans impacter les performances de la base principale (oracle 9i).
En détails : il faut que je fasse un export des tables d'une base oracle 9i au format texte. Ces fichiers textes, sont récupérés et importer dans une base hyperfile (windev). On se casse la tête comme ça parce qu'on a pas les licences nécessaires.
En gros, la procédure consiste à faire un script shell qui me permet d'exécuter sqlplus avec un appel à un fichier script_export.sql
ce fichier ressemble à ceci :
Mon script shell :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 -- pas de sortie pour l'affichage de la commande set echo off -- pas de sortie pour montrer le changement de requete avec la variable set ver off -- pas de sortie sur le terminal set termout off -- pas d entete de colonne set heading off -- pas de retour du nombre de lignes de résultat set feedback off -- largeur de la ligne set linesize 200 -- pas de saut de ligne set newpage NONE -- enleve les espaces en fin de ligne set trimspool on set colsep ' ' -- format de la colonne codebase column to_char(base) format A3; -- sortie fichier texte define base=&1; spool table_toto.txt; select code,to_char(base),libelle,type from toto where &base; spool off;
Mon problème c'est que je souhaiterais envoyer un string "complet" comme variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 connexion=instance/mdp@ip clause_where="base=28 or base=29" #connexion sqlplus sqlplus $connexion @$script_export.sql $clause_where;
Pour le moment, j'obtiens :
il me manque le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select code,to_char(base),libelle,type from toto where base=28;
Merci de m'avoir lu
Code : Sélectionner tout - Visualiser dans une fenêtre à part or base=29
Partager