none
Changer d'authentification SQL Server en cours d'exécution de l'application RRS feed

  • Question

  • Bonjour,

    Je suis en train de migrer mes applications DELPHI/SQL Server 2008 R2 en C# Visual Studio 2010/Sql Server 2008 R2 et Entity Framework.

    Je rencontre une difficultée dans la gestion des accès à ma base de données SQL :

    Dans mes anciennes applications en Delphi via ADO, mes utilisateurs se connectaient en authentification Windows sur notre serveur Sql lors du lancement de l'application. Et une fois l'utilisateur authentifié, le programme exécutait une commande SQL "EXECUTE AS USER = 'NOM_UTILISATEUR_SQL';" de manière à modifier le contexte de sécurité de SQL et passer à une authentification SQL durant toute l'exécution du programme.

    Cette méthode permétait de savoir quel utilisateur windows utilisait l'application, et de gérer les droits d'accès à la base de données via un utilisateur SQL.

    Je tente de reproduire la même technique via Entity Framework. Mais lorsque j'exécute la fameuse commande SQL : 

    entities.ExecuteStoreCommand("EXECUTE AS USER = '" + UserNameSQL + "';");
    

     mes requêtes plantent ensuite avec le message d'erreur suivante.

    "Une erreur s'est produite lors de l'exécution de la définition de la commande"

    Est-ce que quelqu'un a une piste pour régler mon problème ?

    Je vous remercie par avance pour votre aide. 

     

     


    TEDFR
    mardi 14 juin 2011 09:28

Réponses

  • Bonjour

     

    J'ai trouvé la solution à mon problème.

    Il suffit d'exécuter la commande suivante avant d'exécuter une requête, pour eviter mon message d'erreur :

     

     entities.Connection.Open();
    

     


    TEDFR
    • Marqué comme réponse TEDFR mercredi 15 juin 2011 13:57
    mercredi 15 juin 2011 13:57