intégration sql loader en ksh?
Bonjour je souhaite intégrer mon sql loader en KSH .
j'ai réussi en .bat mais KSH je sèche...
voilà ce que j'ai fait en .bat
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| REM -- Connection Oracle (user/pass@connection)
REM -- ----------------------------------------
SET CONNECT_STRING=%1
REM --
REM -- Fichier à traiter (chemin complet)
REM -- ----------------------------------
SET INFILE=%~2
REM --
REM -- Répertoire de l'exécutable sql*loader
REM -- -------------------------------------
SET CHEMIN_SQLOADER=%~3
REM --
REM -- Répertoire racine du traitement ( ./LOG ; ./SCRIPT ; ./SQL )
REM -- ------------------------------------------------------------
SET DIR_TRT=%~4
REM --
REM -- Fichier de controle
REM -- -------------------
SET CONTROL_FILE=%DIR_TRT%\SCRIPT\FL0852_OSS310.ctl
REM --
REM -- Fichier log sql*loader
REM -- ----------------------
SET LOG_FILE=%DIR_TRT%\LOG\OSS310.LOG
REM --
REM -- Fichier bad sql*loader
REM -- ----------------------
SET BAD_FILE=%DIR_TRT%\LOG\OSS310.BAD
REM --
REM -- Fichier discard sql*loader
REM -- --------------------------
SET DSC_FILE=%DIR_TRT%\LOG\OSS310.DSC
REM --
REM -- Chemin des scripts SQL
REM -- ----------------------
REM SET SQL_DIR=%DIR_TRT%\SQL
SET TRT_OSS310_852=TRT_OSS310_852
REM
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
REM TEST DES PARAMETRES D'ENTREE
REM --------------------------------------------------------------------------------------
if '%1'=='' echo Usage 1: INTERFACE_PXL_060 connectString dataFile repLoader repTrt & exit -100
if '%2'=='' echo Usage 2: INTERFACE_PXL_060 connectString dataFile repLoader repTrt & exit -101
if '%3'=='' echo Usage 3: INTERFACE_PXL_060 connectString dataFile repLoader repTrt & exit -102
if '%4'=='' echo Usage 4: INTERFACE_PXL_060 connectString dataFile repLoader repTrt & exit -103
REM
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
REM Supression des fichiers intermédiaires
REM --------------------------------------------------------------------------------------
if exist %DSC_FILE% DEL %DSC_FILE%
if exist %LOG_FILE% DEL %LOG_FILE%
IF exist %BAD_FILE% DEL %BAD_FILE%
IF exist %DIR_TRT%\LOG\ERROR.TXT DEL %DIR_TRT%\LOG\ERROR.TXT
IF exist %DIR_TRT%\LOG\%DELTA_SQL_FILE%.log del %DIR_TRT%\LOG\%DELTA_SQL_FILE%.log
IF exist %DIR_TRT%\LOG\%INTEGRATION_SQL_EXECUTE%.log del %DIR_TRT%\LOG\%INTEGRATION_SQL_EXECUTE%.log
REM
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
REM CONTROLE DU FICHIER DE DONNEES
REM --------------------------------------------------------------------------------------
REM ---------------------------------------------------- s:
chdir %DIR_TRT%\SCRIPT
rem ECHO %DIR_TRT%\..\BIN\ControlePXL.EXE userid=%CONNECT_STRING% -f %INFILE% -l %DIR_TRT%\LOG\Controle.log >.\SCRIPT\param.txt
rem CALL %DIR_TRT%\..\BIN\ControlePXL.EXE userid=%CONNECT_STRING% -f %INFILE% -l %DIR_TRT%\LOG\Controle.log
if errorlevel 20 echo Erreur 0 : Echec lors de l'ouverture du fichier de donnee %INFILE% >>%DIR_TRT%\LOG\error.txt & exit -1
if errorlevel 10 echo Erreur 1 : Fichier %INFILE% invalide : Nb d'enregistrements incorrect !>>%DIR_TRT%\LOG\error.txt & exit -2
if errorlevel 5 echo Erreur 2 : Arguments absents lors de l'appel ! >>%DIR_TRT%\LOG\error.txt & exit -3
REM
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
REM Lancement de SQLOADER
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
echo userid=%CONNECT_STRING% > param.par
echo control="%CONTROL_FILE%" >> param.par
echo log="%LOG_FILE%" >> param.par
echo bad="%BAD_FILE%" >> param.par
echo data="%INFILE%" >> param.par
echo discard="%DSC_FILE%" >> param.par
echo errors="100" >> param.par
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
echo %DIR_TRT%
CALL SQLLDR.EXE PARFILE=%DIR_TRT%\SCRIPT\param.par
REM --------------------------------------------------------------------------------------
REM --------------------------------------------------------------------------------------
if exist %BAD_FILE% echo Erreur 2 : Présence d'enregistrements invalides. >> %DIR_TRT%\LOG\error.txt & exit -4
CALL sqlplus %CONNECT_STRING% @"..\SQL\%TRT_OSS310_852%.sql"
if errorlevel 20 echo Warning 1 : La mise à jour de certains matricules a échoué. >>%DIR_TRT%\LOG\error.txt & exit 1
if errorlevel 10 echo Erreur 4 : Echec du script de Mise à jour automatique des variables de paie >>%DIR_TRT%\LOG\error.txt & exit -6
:fin
exit 0 |