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

Développement SQL Server Discussion :

Lancement procédure stockée sql server via VB EXCEL


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut Lancement procédure stockée sql server via VB EXCEL
    Bonjour à tous,

    déjà j'espère poster ce message dans le bon emplacement!
    J'écume les forums et je ne trouve pas de réponse à mon problème alors je me tourne vers nous en espérant qu'une âme généreuse viendra à mon secours.

    Voilà, je ne sais pas comment on peut lancer une procédure stockée sql server à partir de VB Excel. J'ai trouvé des réponses mais la plus intéressante est en chinois pour moi, et pour les autres, les gens écrivent la procédure sql directement dans le vb. Ma procédure sql est longue, donc je souhaiterais la lancer en écrivant le titre de la procédure dans vb excel et non tout son contenu.
    Pour être plus précise, un agent va ouvrir un fichier excel, il lance une macro qui va transformer le fichier pour le préparer à une importation par sql server. Ensuite, j'aimerais que la routine lance la procédure Sql server que j'ai créée, en appelant le nom de la procédure stockée qui réalise cet import.

    Voilà, j'espère m'être bien expliquée. N'hésitez pas si je ne suis pas claire! En espérant que quelqu'un pourra m'aider.

    microsoft office 2003
    SQL SERVER 2005

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Avez-vous essayé ceci ? C'est assez bien détaillé.
    Sinon, qu'est-ce que vous ne comprenez pas ?

    @++

  3. #3
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 790
    Points
    6 790
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Avez-vous essayé ceci ? C'est assez bien détaillé.
    Sinon, qu'est-ce que vous ne comprenez pas ?

    @++
    Il ne manque pas un lien dans ton poste?

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    oui effectivement, il manque le lien!

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Rofl j'avais trouvé une page sur le site de Microsoft
    Je suis toujours à sa recherche ...

    @++ )

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    J'avais trouvé sur le site de Microsoft une réponse intéressante au lien suivant:

    http://social.msdn.microsoft.com/For...-11d50ec0e740/

    Je pense que c'est cette page que tu avais trouvé. Malheureusement, je ne comprends pas le code. Peut-être pouvez-vous m'aider à le comprendre?

    - Déjà je ne sais pas ce qu'est un fichier .udl et où je dois le mettre.
    - Après je ne sais pas comment créer un .dsn de la base de données.
    - Dans ce bout de code, je ne sais pas à quoi correspond "spExtractBilanMensuelNEB": est-ce le nom de la procédure stockée? du fichier? d'autre chose?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ExecuteCmdAction "spExtractBilanMensuelNEB", Annee, Mois
    - et puis dans tout le reste du code, je ne sais pas ce qui concerne ma demande.
    En fait, je n'ai rien compris, sauf que ça répondait probablement à ma problématique.
    Quelqu'un pourrait-il m'aider genre "Explication pour les NULS"
    Merci à tous
    Ludivine

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    J'étais effectivement tombé sur cette page, mais celle que j'aurais voulu vous proposer contenait des explications simples mais détaillées.

    Un fichier .udl contient une chaîne de connexion permettant à une application de se connecter à une base de données (pas forcément SQL Server).

    Je continue ma recherche

    @++

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    C'est exactement ce qu'il m'aurait fallu: + simple!
    Je cherche aussi de mon côté.

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Ce serait bien cette page non?

    http://support.microsoft.com/kb/146651/fr

    C'est effectivement beaucoup plus lisible que la première page dont j'avais mis le lien ci-dessus.
    Je teste cela demain.

  10. #10
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Je crois plutôt qu'il s'agit de celle-ci
    Entre-temps j'ai aussi trouvé ceci

    @++

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous,

    je suis en train de travailler sur un des sites que tu m'as proposé.

    Je suis bloquée dès le départ car impossible de trouver la référence XLODBC.XLA.
    Elle n'est pas dans la liste, ni dans parcourir comme il le préconise au cas où on ne le trouve pas. Porte-t-elle un nom différent dans Excel 2003?

  12. #12
    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 : 47
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Bonjour,

    Je ne vois pas pourquoi vous vous cassez la tête !

    Règle d'or : les requêtes sont échangées entre le client et serveur sous forme de text pur (mise à part la cryptographie)

    dès lors, le tout devient simple, c'est à dire que même une procedure stockée doit être considéré comme un texte pur qui sera envoyé au SGBDR.

    Si vous avez une procedure stockée avec des paramettres, il vous suffit de construire une chaine texte contenant l'appel à cette procedure stockée (ca c'est indépendant au language de programation) et il suffit d'utiliser le code vba pour lancer celle-ci.

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Bonjour Laurent,
    Je pense qu'effectivement ce que je souhaite faire est impossible.
    Toutes les documentations reviennent à écrire dans VB Excel le code SQL.

    C'est différent de ce que je souhaite: écrire UNE SEULE FOIS ma procédure stockée puis la lancer via Excel en l'appelant par son nom, ou quelque chose dans le genre. Car le fichier Excel modèle va être copié en 100 exemplaires, et ils ne vont pas forcément être disponible sur le réseau.

    Ecrire la procédure stockée une seule fois me permet de faire des modifications. Sur les 100 fichiers Excel, sincèrement, je ne ferais même pas les modifications. J'enverrais une nouvelle version à tout le monde, et ils perdront leur historique point final. Ils ne vont pas être contents , mais vu qu'apparement ce n'est pas possible... Tant pis pour eux.

  14. #14
    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 : 47
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par LaDebrouille Voir le message
    Bonjour Laurent,
    Je pense qu'effectivement ce que je souhaite faire est impossible.
    Toutes les documentations reviennent à écrire dans VB Excel le code SQL.
    Non, cela ne veut pas dire que c'est impossible.courage !

    Citation Envoyé par LaDebrouille Voir le message
    C'est différent de ce que je souhaite: écrire UNE SEULE FOIS ma procédure stockée puis la lancer via Excel en l'appelant par son nom, ou quelque chose dans le genre.
    Effectivement, il te suffit de considerer que la procedure stockée est un code SQL. Tu remplaceras le code SQL par le nom de ta procedure stockée et c'est tout.

  15. #15
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Bonjour Laurent, merci pour ta réponse.

    Je me permet de te demander un petit indice: je crois que je ne met pas ma procédure stockée au bon emplacement.
    Actuellement ma procédure stockée est dans SQL SERVER Agent / Travaux... et son exécution est donc planifiée.
    Je l'ai aussi sur un fichier .sql que j'ouvre pour exécuter le code sql.

    Est-ce qu'il y a un endroit spécial où je dois ranger ma procédure sql pour qu'excel soit capable de l'appeler par son nom et de la retrouver? Car actuellement, je ne peux pas l'appeler car c'est un fichier qui est séparé de sql server, ou alors il est sous forme d'un 'travail'.

  16. #16
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 790
    Points
    6 790
    Billets dans le blog
    4
    Par défaut
    dans l'onglet "programmabilité" de ta base. C'est le dossier dans lequel tu dois exécuter ta procédure en create.

  17. #17
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Ok, c'est bon j'ai réussi!
    Merci à tous, c'est grâce à votre aide que j'ai réussi!

    En effet, mon problème finalement était le suivant: je ne savais pas où mettre ma procédure stockée.
    Il fallait simplement faire un CREATE procedure PS_TEST AS... dans sql server.

    Et dans VB faire la connexion à la bd sql server et cN.Execute ("exec dbo.PS_TEST").

    Je commençais à désespérer ! mais il faut toujours garder patience! Merci à tous!

  18. #18
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 790
    Points
    6 790
    Billets dans le blog
    4
    Par défaut
    :resolut:

    Ravis que tu t'en sois sortis

    Cordialement.

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

Discussions similaires

  1. Problème LIKE Procédure stocké SQL Server 2000
    Par Pilhole dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 18/02/2008, 09h24
  2. Procédures stockées SQL Server, récupération sous Delphi
    Par rophi dans le forum Bases de données
    Réponses: 10
    Dernier message: 03/12/2007, 14h48
  3. Réponses: 1
    Dernier message: 04/03/2007, 15h40
  4. [procédure stockée][SQL server]Extraction, réinsertion
    Par caelum dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/02/2006, 07h59
  5. Procédures stockées SQL Server compatibles avec MySQL ?
    Par Nen'S dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/01/2006, 19h18

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