2016-04-05 2 views
0

Bonjour, Je crée un script pour actualiser le schéma Oracle. En essayant de sauvegarder le schéma, j'ai gardé l'erreur ci-dessous.LRM-00116: erreur de syntaxe à 'DIRECTORY' suivant '='

J'ai cherché partout et personne ne semble avoir cette même erreur exacte. Un conseil?

#!/bin/ksh 
systemPwd=pwd 
srcSID=src 
tarSID=tar 
srcSCHEMA=A 
tarSCHEMA=A 

export_source_schema(){ 
echo 
echo ------------------------- 
echo "EXPORTING SOURCE SCHEMA" 
echo ------------------------- 
expdp system/${systemPwd}@${srcSID} SCHEMAS=${srcSCHEMA} DIRECTORY=EXP_IMP_DIR DUMPFILE=${taskNo}_${srcSID}_${srcSCHEMA}_export.dmp LOGFILE=${taskNo}_${srcSID}_${srcSCHEMA}_export.log 
} 

    ./export_schema.ksh 


    ------------------------- 
    EXPORTING SOURCE SCHEMA 
    ------------------------- 
    LRM-00116: syntax error at 'DIRECTORY' following '=' 

    ./export_schema.ksh[502]: break: cannot break 
+0

Vous avez fait une belle petite question. En regardant votre code original, '$ srcSCHEMA' est-il correctement orthographié et rempli de plus d'un espace? –

+0

J'ai trouvé le problème – user6027133

Répondre

0

Ok enfin je savoir quel était mon erreur, je mettais la variable en incitant l'utilisateur à l'entrée - ce qui est évidemment pas mal, mais l'erreur est que je fait une fonction distincte pour demander à l'utilisateur d'entrée. Cela signifie donc que l'utilisateur a entré une valeur qui devient une variable et que la portée de cette variable est restée locale à cette fonction, donc non disponible pour d'autres fonctions. Une fois que je supprime les invites de l'utilisateur d'une fonction, cela résout le problème.