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 :

Droit sur BCP dans une procédure stockée


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Droit sur BCP dans une procédure stockée
    Bonjour à tous!

    MSACCESS2000 permettait sans se prendre le tête de faire un export de table par un docmd transfert dans un projet ADP.

    J'ai récemment migré vers MSACCESS2007, (je sais ça fait tard mais quand on voit les problèmes que ça apporte), et la fonctionnalité d'export est devenu plus compliqué surtout en mode runtime. Merci Microsoft une fois de plus.

    Bref, pour m’affranchir du poste client j'ai créé une ps sur le serveur qui active une ligne de commande de l'utilitaire BCP pour exporter ma table.
    Ca marche très bien depuis ACCESS tant que sur le client je suis loggé sous mon compte qui est également l'ADMIN de sqlserver et de la base.
    Dés que j'essaye un compte utilisateur ça ne marche plus.

    Mais bizarrement si je me logge sur le serveur avec un compte client et que j'active directement la commande bcp par la ligne de cmd cà marche aussi

    Voici le code de la ps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ALTER PROCEDURE [dbo].[ps_ADMIN_EXPORT_FICHIER_V2]
    --Cette procédure générique d'exportation est utilisée pour
    --L'export des demandes d'appro pour générer les commandes HA de X3
    @NomTable as varchar(50),
    @CheminExport as varchar(200)
     
     AS
    declare @bcpCommand varchar(2000)
    -- Export du fichier
    SET @bcpCommand = 'bcp ' + 'GTI.dbo.'+@NomTable + ' out '
    SET @bcpCommand = @bcpCommand + @CheminExport + ' -SDGTI  -t; -c -T 
    PRINT @bcpCommand
    EXEC master..xp_cmdshell @bcpCommand
    J'ai essayé différentes méthodes avec le -U et -P mais ça marche pas.
    pour rappel, le -T devrait autoriser un utilisateur authentifié à exécuter théoriquement cette ps et sur mon serveur les utilisateurs du domaine sont bien sur déclarés et tout le reste de l'appli tourne très bien.

    L'impression que j'ai c'est que le driver oledb de sqlserver pourrait créer le pb.
    A noter que j'ai le même problème sur un lien ADP sqlserver2000 et sqlserver 2008 R2.
    Qu'en pensez vous?

    Merci pour vos suggestion pour contourner le problème
    Cordialement

  2. #2
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    tu peux montrer le message d'erreur renvoyé ?
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par zinzineti Voir le message
    tu peux montrer le message d'erreur renvoyé ?
    Bonjour, et merci pour ton interet à mon pb
    Dans tous les cas il n'y a pas de messages d'erreur.

    -sous le compte user depuis un poste client

    1-En commande directe via cmd
    bcp GTI.dbo.HA_APPRO_EXPORT_X3 out \\Dx3\zimp\ZIMPDAGTI\testpnony.txt -SDGTI -U"****" -P***** -t; -c -T -e\\Dx3\zimp\ZIMPDAGTI\erreur\err.txt
    Export OK, création du fichier d'erreur vide
    2-Par appel de la ps par ACCESS avec ligne de commande bcp du même type dans la ps
    Pas d'export et pas de création du fichier d'erreur. C'est comme si la ps ne s'executait pas. Evidemment, toutes les autres ps s'exécute normalement.

    -sous mon compte et qlqsoit la méthode d'appel ça marche à tous les coups.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour à tous

    Finalement j'ai trouvé la solution qui pour un expert de sqlserver est assez simple.
    Il suffit de donner à l'utilisateur le droit d'executer la procédure stockée systeme xp_cmdshell de la base master.
    Voici le lien pour résoudre le probleme.
    http://support.microsoft.com/kb/890775

    Si ça peut servir c'est tant mieux.

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Saisie de données dans une procédure stockée
    Par Hastaroth dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/10/2004, 09h54
  3. Vérification du type de données dans une procédure stockée
    Par biroule dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/09/2004, 11h20
  4. Marquer une pause dans une procédure stockée
    Par PéPénet dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2003, 10h42
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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