script spool sqlplus pour exportation
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 :
Code:
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 script shell :
Code:
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; |
Mon problème c'est que je souhaiterais envoyer un string "complet" comme variable.
Pour le moment, j'obtiens :
Code:
1 2
|
select code,to_char(base),libelle,type from toto where base=28; |
il me manque le
Merci de m'avoir lu