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 :

Spécifier un user dans un trigger?


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Par défaut Spécifier un user dans un trigger?
    Bonjour,

    j'essaie de résoudre un problème de trigger qui à partir d'une base update une table dans une autre base. J'ai un blocage dû à un problème d'utilisateur qui indique que l'utilisateur est invalide (problème dans l'application Sage référencé sur ce post : http://www.developpez.net/forums/sho...highlight=SAGE )

    Ma question est donc : puis-je exécuter une requête, une procédure stockée dans un trigger en spécifiant un user qui disposerait de droit suffisants, ou bien puis-je outrepasser les droits de l'utilisateur qui génère le déclenchement du trigger pour contourner mon problème. J'ai pensé à passer par un OPENDATASOURCE, mais ça ne fonctionne pas (et je ne sais pas si il sera possible d'utiliser cette méthode si ça fonctionne).

    Mon problème est d'avoir en temps réel des données à jour dans les deux bases sans tache planifiée.

    Merci de m'aider si vous avez une idée ou une piste.

    Cordialement.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    L'opendatasource est utilisable que pour des requêtes ponctuelles (Attention surcharge de connexion à la base). Le plus simple est que l'utilisateur définit dans ta première base soit défini dans la seconde. Je pense que tu n'auras plus de problème d'utilisateur invalide.

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 11
    Par défaut
    oui, mais malheureusement ça ne fonctionne pas, bien que le user en question soit db_owner sur les deux bases...

    Un applicatif de gestion semble venir interférer à un autre niveau... mais je ne sais pas lequel...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    pour reprendre le post en référence, le msg suivant :

    L'utilisateur de serveur 'SIA\sylvie' n'est pas valide pour la base de données 'EchangeSobac'.

    indique que le login SIA\sylvie n'est pas utilisateur dans la base EchangeSobac.

    Donc il faut mapper un utilisateur au login SIA\Sylvie dans la base accédée par le trigger ou proclamer le login SIA\Sylvie comme propriétaire de la base (use base, sp_changedbwoner "SIA\Sylvie")

    As-tu le même message que ci-dessus ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut
    Bonjour,

    Je cogite depuis 2 jours sur le même problème : j'ai 2 bases sous SQL Server, j'essaye d'exporter des données d'une base vers l'autre avec un trigger, et je me retrouve avec le message : 'L'utilisateur du serveur 'SERV\marc' n'est pas valide pour la base de données 'DB2'.

    L'utilisateur 'SERV\marc' existe bien dans les 2 bases.

    N'etant en plus pas un habitué de SQL Server, je commence vraiment à bloquer.

    Si quelqu'un a une piste????

    Merci....

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Il y a une autre possibilité pour réaliser ce que tu souhaite faire. Au lieu d'utiliser un Trigger, tu peux mettre en oeuvre une réplication transactionnelle des tables de ta base1 vers ta base2.

    Pour cela, il faut avoir un agent SQL.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/01/2012, 14h01
  2. [C#] Control user dans le code caché
    Par pc152 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 07/05/2004, 06h36
  3. RAZ GENERATOR dans un trigger
    Par kase74 dans le forum SQL
    Réponses: 2
    Dernier message: 08/09/2003, 18h43
  4. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  5. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51

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