IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[10.3.3]Convertir commande mssql


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [10.3.3]Convertir commande mssql
    Bonjour

    J'essais de convertir une commande qui est inclus dans MsSql pour l'inclure dans mon programme.
    Je voudrais faire a l'intérieur de mon programme une copie d'une base de donnée MsSql et la renommé dans une autre base sur le même serveur MsSql
    La meilleur méthode est backup de ma table et restore qui ma été suggéré sur le forum MsSql.

    Voici les commandes inclus dans MsSql1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BACKUP DATABASE BILLET TO DISK = 'C:\00BACK_REST\BACKUP10.BAK'
     
    RESTORE FILELISTONLY  FROM DISK = 'C:\00BACK_REST\BACKUP10.BAK' 
     
    RESTORE DATABASE TestDB13
        FROM DISK = 'c:\00BACK_REST\BACKUP9.bak'  
        WITH MOVE 'billet2015_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\testdb13.mdf',
        MOVE 'billet2015_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\testdb13.ldf',
    	 RECOVERY;
    ca fonctionne
    1: je voudrais mettre dans une variable le nom de destination 'C:\00BACK_REST\BACKUP10.BAK'
    2: ecrire en code ces commandes
    J'ai fais beaucoup d'essais voir le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
      MSSQL1.SQL.clear;
       //PARTIE1 ok
       MSSQL1.SQL.Add('BACKUP DATABASE BILLET TO DISK =');
       MSSQL1.SQL.Add(QUOTEDSTR('C:\00BACK_REST\BACKUP11.BAK'));
       //PARTIE2 ok
       MSSQL1.SQL.Add('FILELISTONLY  FROM DISK =');
       MSSQL1.SQL.Add(QUOTEDSTR('C:\00BACK_REST\BACKUP11.BAK'));
       //PARTIE3 problème ici
        MSSQL1.SQL.Add('RESTORE DATABASE TestDB15 FROM DISK =');
        MSSQL1.SQL.Add(QUOTEDSTR('c:\00BACK_REST\BACKUP11.bak'));
        MSSQL1.SQL.Add('WITH MOVE ');
        MSSQL1.SQL.Add(QUOTEDSTR('billet2015_Data'));
        MSSQL1.SQL.Add(' TO ');
        MSSQL1.SQL.Add(QUOTEDSTR('C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\testdb15.mdf ' ));
        MSSQL1.SQL.Add(', MOVE ');
        MSSQL1.SQL.Add(QUOTEDSTR('billet2015_Log'));
        MSSQL1.SQL.Add(', TO ');
        MSSQL1.SQL.Add(QUOTEDSTR('C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\testdb15.ldf ' ));
        MSSQL1.SQL.Add(' RECOVERY ');
     
        MSSQL1.Execute;
        showmessage('BACKUP COMPLÉTER');
    Merci de votre aide

    Mario

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    MSSQL1 est quel composant ?
    Est-ce que chaque partie a été testée indépendamment ? Je ne vois nulle part une séparation des lignes de commandes
    AMHA la partie qui pose problème : les chemins contenant des espaces.
    Ce que je n'aime pas : la construction du SQL, la non utilisation de paramètres (mais cela dépend du type de composant)

    Avec des informations de versions de Delphi et surtout des sets de composants BDD utilisés (ou disponibles) ce serait plus clair

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 983
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 983
    Par défaut
    Ne serait-il pas plus simple d'utiliser une procédure stockée ?

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [10.3.3]Convertir commande mssql
    Bonjour

    Je travaille avec SDAC de DEVART ca va bien J,ai fais des essais avec les commandes integrés et ca fonctionne bien mais j'aurais besoins de mettre des variables dans mes lignes de commandeNom : Mssql1.JPG
Affichages : 640
Taille : 51,9 Ko

    J'aimerais pouvoir mettre dans mon MsSql1 a partir des lignes de code les memes commandes en modifiant le nom des fichiers par une variable.

    Merci de votre aide

    Mario

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 090
    Par défaut
    SDAC propose des Macros, cela sera plus adapté pour ce type de script d'administration que des Params
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 394
    Par défaut [10.3.3]Convertir commande mssql
    Merci ShaiLeTroll

    J'ai fais des essais mais ca fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     // remplacer cette ligne de commande ….BACKUP DATABASE BILLET TO DISK = 'C:\00BACK_REST\BACKUP10.BAK';
     MSSQL1.SQL.clear;
     MSSQL1.SQL.Add('BACKUP DATABASE BILLET TO DISK =');
     MSSQL1.SQL.add('&REP');
     MSSQL1.MacroByName('REP').Value := 'C:\00BACK_REST\TEST2019';
     MSSQL1.Execute;
    J'ai une erreur qui dit syntaxe incorrecte vers 'C:'.

    Merci

    Mario

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] convertir commande cURL
    Par aberzen dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 29/01/2020, 21h13
  2. [MsSql-Rad_Studio]Simplifier une commande MsSql
    Par mario9 dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/09/2018, 22h46
  3. Erreur sur commande mssql
    Par alexg57070 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/05/2013, 14h07
  4. Réponses: 18
    Dernier message: 08/02/2004, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo