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

WinDev Discussion :

PB avec requete SQL Server "BACKUP DATABASE" [WD17]


Sujet :

WinDev

  1. #1
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut PB avec requete SQL Server "BACKUP DATABASE"
    Bonsoir,

    je suis en train de reprendre un module de sauvegarde de base de données sql server écrit en VB.NET il y a quelques années pour le traduire en Windev.

    Dans l'ancien module, sur clic d'un bouton backup, j'exécutais ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ' NOM DU FICHIER
    Dim Sql As String
    Dim nomfichier As String = "SAV" & Now.ToString("s", CultureInfo.InvariantCulture).Replace(":", "-")
     
    ' BACKUP DE LA BD DANS UN FICHIER .BAK
    MasterConnection(Conn)
    Sql = "BACKUP DATABASE GPAO TO DISK=N'" & depot & nomfichier & ".bak '"
    Conn.Execute(Sql)
    DeconnectBD(Conn)
    Je précise que pour pouvoir faire un backup database il fallait être connecté à la base MASTER qui "chapeaute" les autres bases.

    Aujourd'hui sous Windev17, au sein de l'analyse qui me raccorde à la base GPAO (via un premier object Connexion que j'ai appelé Cnx), j'ai créé un deuxième objet connexion sur la base MASTER (que j'ai appelé Master).

    J'ai fais le test de connexion (le bouton TESTER de l'assistant), et ça semble bon.

    Maintenant j'ai le code suivant :

    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
     
    Sql est une chaîne
    d est une Date = DateSys
    h est une Heure = HeureSys
    depot est une chaîne = "\\localhost\backups_gpao\"
    nomfichier est une chaîne = "SAV-" + DateVersChaîne(d,"AAAA-MM-JJ")+"-"+HeureVersChaîne(h, "HH-MM-SS")
    dh est une chaîne = DateVersChaîne(d,"AAAAMMJJ")+HeureVersChaîne(h,"HHMMSS")
     
    // ON ENREGISTRE LA TRACE DE LA SAUVEGARDE DANS LA TABLE bku
    Sql = "INSERT INTO bku (bk_nom_fichier, bk_date, bk_commentaire) VALUES ('" + nomfichier + ".bak" + "', '" + dh + "', 'aucun')"
    Info(Sql)
    SI PAS HExécuteRequêteSQL("Insertion",Cnx,hRequêteDéfaut ,Sql) ALORS
    	Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()+ RC + RC + Sql)
    FIN
     
     
    // SAUVEGARDE DE LA BD DANS LE .BAK
    Sql = "BACKUP DATABASE GPAO TO DISK=N'" + depot + nomfichier + ".bak '"
    Info(Sql)
    SI PAS HExécuteRequête("Backup", Master, hRequêteSansCorrection, Sql) ALORS
    	Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()+ RC + RC + Sql)
    FIN
    Evidemment l'insertion en table bku se passe comme il faut.
    Pour la génération du .bak j'ai l'erreur suivante :

    Erreur d'initialisation de la requête
    Erreur dans le code SQL de la requête <Backup>. Initialisation de la requête impossible. Mot DATABASE inattedu

    BACKUP DATABASE GPAO TO
    DISK N'\\localhost\backups_gpao\SAV-2012-11-13-17-42-58.bak'
    Soit ma requête est mal écrite ou mal interprêtée (mais bon actuellement ça fonctionne quand j'exécute mon soft en VB.NET), soit ma connexion Master n'est pas réalisée au bon endroit, soit on ne peut pas faire ça dans un thread (car le code windev est une procédure lancée dans un thread) !!?

    Toute aide est la bienvenue.

    Merci à vous
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Ne pas utiliser hRequêteDéfaut mais hRequêteSanscorrection

    Sinon Windev vérifie que la syntaxe est compatible Hyperfile

    De manière générale si tu utilises une autre bd que Hyperfile il vaut mieux utiliser ce paramètre

  3. #3
    Membre averti Avatar de droliprane
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2005
    Messages : 710
    Points : 444
    Points
    444
    Par défaut
    C'est exactement ça !!

    Merci à toi.

    Résolu donc
    'Diviser chacune des difficultés en autant de parcelles qu’il se pourrait et qu’il serait requis pour les mieux résoudre', René Descartes

    => Maya GPAO

  4. #4
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Tu peux donc cliquer sur le bouton

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

Discussions similaires

  1. [Débutant] Remplir ListView avec une requete SQL server
    Par theuma dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/05/2013, 10h32
  2. SQL Server et backup Biztalk avec mirror
    Par Francky8 dans le forum Administration
    Réponses: 3
    Dernier message: 07/01/2012, 10h05
  3. problem requete sql server avec accent et le blanc
    Par ameur78 dans le forum Développement
    Réponses: 1
    Dernier message: 29/11/2008, 13h52
  4. probleme avec creation requete sql server
    Par Firas_tn dans le forum MS SQL Server
    Réponses: 19
    Dernier message: 15/04/2005, 12h12

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