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

MS SQL Server Discussion :

Procédures stockées vs SQL Direct


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 55
    Par défaut Procédures stockées vs SQL Direct
    Bonjour à tous,

    Je suis en pleine création d'une application Access qui se base sur des tables SQL Server.

    Pour effectuer des modifications sur les tables, vaut-il mieux utiliser le SQL dans Access ou prévoir des procédures stockées sur SQL Server et appeler ces procédures avec des paramètres ?

    La question relève plus de la performance mais également en terme de sécurité et de facilité d'utilisation (mise à jour , etc...) !

    J'ai déjà posté sur le forum Access mais sans succès !

    Merki

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    la procédure stockée, c'est la grande invention du siècle (dernier) ! Bien sûr c'est mieux, bien sûr la sécurité et les performances sont meilleures, bien sûr c'est plus facile à maintenir...

    Mais je me demande : si tu fais une appli Access, tu vas utiliser des formulaires liés aux données ? Et tu vas faire l'insert par événement BeforeInsert ou qqch comme ça (ça fait qq années que je n'ai plus ouvert Access) ?

    En faveur des procédures :
    - tu peux donner des droits sur les procédures seulement et l'enlever des tables, donc tu maîtrises totalement l'accès aux tables
    - si tu dois mettre à jour une requête, tu lances un script sur le serveur SQL au lieu de reshipper ton fichier Access.

    et bien d'autres.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 55
    Par défaut
    Salut,

    Merci pour ta réponse sur les procédures.

    Concernant Access, je vais effectivement utiliser des formulaires avec tables liées vers SQL Server. A ce jour, je n'ai pas beaucoup avancé dans la conception mais je me renseigne avant d'aller plus loin.

    J'imagine utiliser les procédures stockées pour mettre à jour toutes les informations. Eventuellement, je pensais utiliser les formulaires juste pour faire apparaître les informations. Dans le cas d'un souhait de modification de l'information affichée, je ferais apparaître un autre formulaire plus aisé pour la modification et après validation, j'utiliserai une procédure stockée pour la mise à jour.

    Je ne connais pas bien les SQL server et je me demande : lorsqu'on utilise une procédure, elles peuvent retourner une ou plusieurs valeurs en guise de résultat ?

  4. #4
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Ne serais-tu pas au bord d'utiliser un autre client qu'Access ? Par exemple Delphi ou .NET en WinForms ? Parce que là tu commences à décrire du bon vieux client/serveur.

    Certes, les états imprimés peuvent poser problème, mais le générateur d'états de Delphi fait de bonnes choses (à mon avis).

    Tu peux faire du bon boulot en .NET pour pas un rond avec SharpDevelop ou Visual Studio Express...

    Bon, ta question c'était SQL ...

    La procédure peut retourner :
    - un ou plusieurs recordsets
    - un ou plusieurs paramètres retour (OUTPUT), qui se comportent fonctionnellement comme des paramètres par référence
    - une valeur de retour (entier)

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Une procédure stockée est préférable que toute version de SQL Direct.
    En effet :

    1-Pas besoin de recompiler ton application en cas de modification du corps de la procédure
    2-Optimisation du trafique réseau du au fait que seul le nom de la procédure (et les paramètres) est envoyé au serveur.
    3-Optimisation des performances : Le serveur n'a plus besoin de refaire le plan d'execution de la procédure
    4-Sécurité, impossible de s'injecter dans votre application par SQL Injection
    5- Code Client plus lisible.


    Il vaut mieux l'adopter.
    Si c'est pour des raisons de rapports, Visual Studio 2005 intègre l'editeur d'état cristal Report.
    Bonne chance.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 30
    Par défaut
    Moi personnelement je suis entrain de developper un projet adp "access" avec une base de donnée sqlserver. je trouve que c'est plus faciles et j'utilise pas mal de procédure stokée.

    le projet adp se comporte comme si c'est une base de donnée access. il agit directement sur les tables ou les vues.

Discussions similaires

  1. [PowerBuilder 10] Procédure stockée sous SQL Server 2000
    Par digital prophecy dans le forum Powerbuilder
    Réponses: 8
    Dernier message: 11/10/2006, 10h38
  2. Procédures stockées vs SQL direct
    Par odelayen dans le forum Access
    Réponses: 2
    Dernier message: 25/07/2006, 10h09
  3. Procédure stockée, transact SQL et param de type INT
    Par Samish dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/04/2006, 10h01
  4. Réponses: 2
    Dernier message: 05/12/2005, 16h39
  5. Procédures stockées imbriquées SQL Server
    Par Mike69 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2003, 10h31

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