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 :

Exécution d'un script sql / base MS SQL Server


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Points : 150
    Points
    150
    Par défaut Exécution d'un script sql / base MS SQL Server
    Bonjour,

    Comment exécuter un script sql sauvegardé dans un fichier (script.sql), j'utilise SQL Server 2005 Express Edition.

    Merci.
    Réussir c'est faire le bon choix.

    Voici ma supper fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction ChercherSolution(User_id:login in www.developper.com):Vrai;

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    C'est vraiment ta question ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Query.SQL.LoadFromFile('C:\Dossier\Fichier.SQL');
    Query.ExecSQL(); // ou Open() pour SELECT
    Cela ne peut contenir qu'une seule requête !

    Pour plusieurs requête, cela peut devenir plus complexe à gérer, tu peux utiliser un séparateur genre ÿ (#$FF) ou encore TAB (#9), voir Delimiter, DelimitedText, StrictDelimiter de la TStrings (ou TStringList), puis faire une boucle !

    Perso, je me suis fait un petit lecture de fichier DumpMySQL, j'ai utilisé le ; comme séparateur, ce qui m'a obligé de gérer les " ou ' comme délimiteur de texte (et donc d'ignorer le ; dans un texte), c'est un peu plus pénible mais c'est la méthode la plus propre !

    Enfin, certains lib comme celle de Devart, propose un TMSScript, où l'on peut même injecter des valeurs, des macros qui remplace les params habituels !
    Enfin SQL Express, ça peut lancer des Procédures stockées ? mets tes SQL dans une procédure, et utilise TStoredProc !
    Très pratique, je l'ai utilisé pour MySQL avec le TMyScript
    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

  3. #3
    Membre habitué Avatar de abdelghani_k
    Inscrit en
    Octobre 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Octobre 2002
    Messages : 184
    Points : 150
    Points
    150
    Par défaut
    Merci ShaiLeTroll,

    J'ai utilisé TMSScript de Devart mais je n'ai pas aimé cela car je suis obligé d'utiliser avec un TMSConnection et se sont des composants tiers (voir évolution avec delphi). Ce que j'aime en delphi est d'utiliser des solutions propres à delphi et développées sur mesure comme votre cas :

    Citation Envoyé par ShaiLeTroll Voir le message

    Perso, je me suis fait un petit lecture de fichier DumpMySQL, j'ai utilisé le ; comme séparateur, ce qui m'a obligé de gérer les " ou ' comme délimiteur de texte (et donc d'ignorer le ; dans un texte), c'est un peu plus pénible mais c'est la méthode la plus propre !
    Merci.
    Réussir c'est faire le bon choix.

    Voici ma supper fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fonction ChercherSolution(User_id:login in www.developper.com):Vrai;

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Citation Envoyé par abdelghani_k Voir le message
    Ce que j'aime en delphi est d'utiliser des solutions propres à delphi et développées sur mesure comme votre cas
    Tu n'as pas toujours le temps (ni la capacité), j'ai du coder cela parce que la version 3.70 de MyDAC TMyDump était trop gourmand en mémoire pour charger des Dump de plusieurs Go
    J'ai peu tricher pour ce code car je connaissais la "gueule" du fichier qui serait importé !
    Lorsque l'on a acheté la version 5.70, on a découvert qu'ils avaient du avoir des remarques à ce sujet, je ne l'ai jamais testé (j'ai changé de boîte) mais selon le ReadMe, le chargement du TMyDump pouvait se faire purement par fichier et non plus par TStringList (pur mémoire)

    Devart (CoreLab), sont sur le marché DB VCL depuis au moins Delphi 5 !
    On peut penser qu'ils voudront continuer le buziness tant que Delphi existe !
    De plus, tu peux acheter les sources au pire !

    Je ne suis pas un amateur de library externe non plus !
    Mais parfois, c'est indispensable tout simplement parce que tu n'as pas le temps de le coder toi même, ou même que la technologie te dépasse (je n'imagine pas coder le SFTP ou Tunneling SSH sans les composants SecureBlackBox, et ça c'est des composants très cher, c'est spécialites, un niveau de prog qui nous dépasse pour un grand nombre d'entre nous même si un jour j'ai un peu fouillé pour comprendre un bug en SFTP4 et forcer uniquement du SFTP3)
    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

  5. #5
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Citation Envoyé par abdelghani_k Voir le message
    Comment exécuter un script sql sauvegardé dans un fichier (script.sql), j'utilise SQL Server 2005 Express Edition.
    Difficile de te répondre correctement si tu n'en dis pas plus.
    Présenté comme ça, je serais tenté de te répondre d'utiliser osql ou sqlcmd qui sont fait pour ça (ils font parti du client SQL).

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2009, 08h29
  2. [SQL] Exécuter du PHP depuis une base SQL
    Par neetspeed dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2007, 17h46
  3. Stopper l'exécution d'un script PL/SQL
    Par manucha dans le forum PL/SQL
    Réponses: 2
    Dernier message: 17/07/2007, 12h12
  4. mavaise fin d'exécution de mon script .sql
    Par super_dz dans le forum Oracle
    Réponses: 4
    Dernier message: 13/05/2007, 14h30
  5. Script de base de données SQL
    Par Davyl dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/03/2007, 11h27

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