Bonjour,
Je lance le script de restauration de base de donnée sql7 suivant sous format d'un fichier (script0.sql)avec la commande sqlcmd (sqlcmd -S &SERC -U &utilis -d &DBM -P &PWD -i script0.sql -o MSRESULT.txt) ... la base de donnée se retaure normalement.
quand je lance le meme script avec la commande
osql -S &SERC -U &utilis -d &DBM -P &PWD -i script0.sql -o MSRESULT.txt j'ai l'erreur
"RESTORE DATABASE ACS_TEST FROM DISK =
'F:\LECTEURE\SAUV_DATABASE\SEDB\SEDB22112010' WITH MOVE 'Zsd_Journal'
TO 'F:\LecteurD\database\ACS_TEST_Journal.LDF' , MOVE 'Zsd_Données'
TO 'F:\LecteurD\database\ACS_TEST_Données.MDF', REPLACE
Message 3234, niveau 16, ‚tat 2, serveur RD003, ligne 1
Le fichier 'Zsd_Données' n'est pas un fichier de base de donn‚es pour
la base 'ACS_TEST'.
Message 3013, niveau 16, ‚tat 1, serveur RD003, ligne 1
La sauvegarde ou la restauration se sont termin‚es anormalement."
mercie de m'aider pour trouver le probleme avec la commande osql.
dans ce qui suit le contenu du fichier script0.sql
PRINT(' ')
PRINT(' ')
PRINT(' ')
PRINT('Début de RESTAURATION de la base de données : sur le serveur : veuillez patienter…..')
PRINT(' ')
PRINT(' ')
PRINT(' ')
USE MASTER
SET QUOTED_IDENTIFIER OFF
DECLARE
@DB_CIBLE VARCHAR(15),
@LOGF VARCHAR(100),
@DONF VARCHAR(100),
@LOG VARCHAR(100),
@DON VARCHAR(100),
@U_SAUV VARCHAR(100) ,
@v varchar(500)
SET @DB_CIBLE = 'ACS_TEST'
SET @DONF = 'F:\LecteurD\database\ACS_TEST_Journal.LDF'
SET @LOGF ='F:\LecteurD\database\ACS_TEST_Données.MDF'
SET @DON = 'Zsd_Journal'
SET @LOG = 'Zsd_Données'
SET @U_SAUV = 'F:\LECTEURE\SAUV_DATABASE\SEDB\SEDB22112010'
set @v="RESTORE DATABASE "+rtrim(@DB_CIBLE)+" FROM DISK = "+"'"+rtrim(@U_SAUV)+"'"+" WITH MOVE "+"'"+rtrim(@DON)+"'"+" TO "+"'"+rtrim(@DONF)+"'"+" , "+" MOVE "+"'"+rtrim(@LOG)+"'"+" TO "+"'"+rtrim(@LOGF)+"'"+","+" REPLACE"
select replace('@v', 'char(13)+char(10)',' ')
print @v
EXECUTE (@v)
PRINT('Fin de RESTAURATION de la base de données : sur le serveur : veuillez patienter…..')