neodiffusion

Protime bug 2020 fix

Jan 13th, 2020 (edited)
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.03 KB | None | 0 0
  1. Rem a faire tourner dans le dossier du programme
  2. Rem Noter le nom du serveur
  3.  
  4. rem lecture du connect.in
  5. for /f "delims=" %%i in ('type ".\Resource\connect.ini" ^|findstr /i /r "OdbcServer"') do set %%i
  6. for /f "delims=" %%i in ('type ".\Resource\connect.ini" ^|findstr /i /r "OdbcDataBase"') do set %%i
  7.  
  8.  
  9. set PathProtime=C:\Program Files\Protime\Protime Premium
  10.  
  11. echo ARRET DES SERVICES EN COURS...
  12.  
  13. "%PathProtime%\tools\Pskill" calcserver32.exe
  14. net stop "Protime CalcManager"
  15. net stop "Protime NotifyServer"
  16. net stop "Protime InfoServer"
  17.  
  18. Rem noter ici le nom du user de la base SQL
  19. set SQL_USER=time_user
  20. Rem noter ici le mot de passe du user SQL
  21. set SQL_PASS=letmein32
  22. Rem Requête qui supprime l’ancien Trigger
  23. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q " DROP TRIGGER tr_upddate; "
  24. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q " DROP TRIGGER E_I_CalcRequest; "
  25. Rem Requête qui modifie les dates
  26. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q "UPDATE BOOKINGS SET BOOKDATE = BOOKDATE + 01000000 WHERE REC_NR IN (SELECT REC_NR FROM BOOKINGS WHERE BOOKDATE < '19500101') "
  27. Rem requête qui crée le trigger bookings
  28. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q " CREATE TRIGGER [dbo].[E_I_BOOKINGS] ON [dbo].[BOOKINGS] FOR INSERT AS SET NOCOUNT ON; UPDATE BOOKINGS SET BOOKDATE = BOOKDATE + 01000000 WHERE REC_NR IN (SELECT REC_NR FROM inserted WHERE BOOKDATE < '19500101')"
  29. Rem requête qui crée le trigger CalcRequest
  30. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q "CREATE TRIGGER [dbo].[E_I_CalcRequest] ON [dbo].[CALCREQUEST] FOR INSERT AS UPDATE[dbo].[CALCREQUEST] SET DATEFROM = DATEFROM + 01000000, DATETO=DATETO + 01000000 WHERE DATEFROM < '19500101'"
  31. Rem requête qui nettoie la table CalcRequest
  32. osql -U %SQL_USER% -P %SQL_PASS% -S %OdbcServer% -d %OdbcDatabase% -Q " DELETE FROM [dbo].[CALCREQUEST] "
  33.  
  34. net start "Protime NotifyServer"
  35. net start "Protime Calcmanager"
  36. net start "protime InfoServer"
  37. pause
Add Comment
Please, Sign In to add comment