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 :

Appel de procedure stockée dans une Function Table


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Consultant
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Par défaut Appel de procedure stockée dans une Function Table
    Bonjour,

    Je suis obligé de faire appel a des FUNCTIONS de type table, car l'outil BusinessObject m'y oblige, il ne sais pas faire appel a des procedures stockées.

    Tout le fonctionnel, qui est à ma disposition est encapsulé dans des procedures stockées.

    Soit je redeveloppe toutes les proc stocks en Function , avec les risques d'erreurs encourus.

    Soit je trouve une methode pour appeler une procedure depuis une fonction.

    A force de faire des tentative, j'ai finalement trouvé la methode qui fait appel a OPENROWSET.

    Voici le script que je souhaite executer :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT * INTO #Jobs 
    FROM OPENROWSET('SQLNCLI', 'VM-BI41';'user';'password', 'EXEC MaBase.dbo.MESBO_getOMEPerformanceDataStation');

    Je rencontre une erreur Msg 7357.

    'VM-BI41' est le nom de mon instance dans la table sys.servers (cf. extrait des 5 premieres colonnes ci-dessous)
    server_id = 0
    name = VM-BI41
    product = SQL Server
    provider = SQLNCLI
    data_source = VM-BI41


    Je fais donc appel a vos divers retours d'experience, car j'en arrive a me demander si cela reste possible de pouvoir appeler une procedure stockée dans une Function Table ?

    Merci de vos retours

    S

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Il est absolument impossible d'exécuter une procédure stockée au sein d'une UDF par quelque voie quen ce soit. C'est à dessoin, car une UDF doit pouvoir être utilisée au sein d'une requête SQL et ne pas avoir d'effet de bord vis à vis de cette requête.
    Si par exemple vous aviez la possibilité par un biais quelconque de lancer une procédure dans une UDF qui serait utilisée par un SELECT, alors cette procédures pourrait mettre à jour des données au cours du SELECT ce qui serait en sus d'être logiquement absurde extrêmement dangereux !
    Vous n'avez pas d'autre choix que de :
    1) redévelopper toutes les procédures sous forme de vues ou d'UDF
    2) utiliser un autre outil que BO pour faire de la BI...
    À ce propos sachez que vous aurez sans doute mieux fait d'utiliser les outils de BI inclus dans SQL Server. Les gains de performances serait très important, car vous attaqueriez une base décisionnelle avec des outils décisionnels au lieu d'attaquer une base relationnelle avec un outil décisionnel....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/04/2010, 15h27
  2. Appels de procedures stockées dans une proc stockée ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 17/07/2008, 10h32
  3. Réponses: 2
    Dernier message: 22/06/2006, 11h26
  4. Réponses: 3
    Dernier message: 21/09/2004, 07h35
  5. Réponses: 1
    Dernier message: 04/06/2003, 11h48

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