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

C# Discussion :

[C#][ODBC][SQLServer2005] Erreur d'authentification


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Par défaut [C#][ODBC][SQLServer2005] Erreur d'authentification
    Bonjour à tous,

    J'ai eu le grand plaisir récemment de passer du cobol et de db2 à .NET avec du SQLServer. Appréciez le grand écart générationnel.

    Voici mon problème :
    Dans mon projet C#, j'ai une classe plaquette qui doit se connecter à la base de données sqlServer.

    Pour ce faire, j'ai :
    - paramétré des liens odbc vers les tables itou itou (suite à la lecture de certains topics sur ce meme forum)
    - codé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    string Scnx = "Driver=SQL Server;Server=DNS_SERVER\\INSTANCE3;uid=monUIDspecialBDD;Trusted_connection=yes; pwd=monMegaPWD;dbq=CNC1_TARIF_NI;";
     
    try
    {
     // OdbcCommand CNC1_Cmd = new OdbcCommand(sSQL, CNC1_PLAQUETTE_Connexion);
    Console.WriteLine("[existePlaquetteInDB] Avant using()");
     
    using ( OdbcConnection cnx = new OdbcConnection (Scnx ) )
    {
        Console.WriteLine("[existePlaquetteInDB] Avant new OdbcCommand()");
        OdbcCommand cmd = new OdbcCommand(sSQL, cnx);
        Console.WriteLine("[existePlaquetteInDB] Avant open()");
        cnx.Open();
     
        Console.WriteLine("[existePlaquetteInDB] Avant déclaration reader()");
        OdbcDataReader read = cmd.ExecuteReader();
     
          while (read.Read())
          {
           Console.WriteLine("[existePlaquetteInDB] read : " + read[0]);
          }
        Console.WriteLine("[existePlaquetteInDB] Avant fermeture reader()");
        read.Close();
     
    } // fin using
     
    }
    catch (Exception ex)
    {
    Console.WriteLine("[existePlaquetteInDB] Un truc vient de casser. \n " + ex.ToString()); 
    }

    Prenons le coté positif des choses, ça compile.
    Point négatif, j'ai une mignonne exception :

    [existePlaquetteInDB] Avant using()
    [existePlaquetteInDB] Avant new OdbcCommand()
    [existePlaquetteInDB] Avant open()
    [existePlaquetteInDB] Avant déclaration reader()
    [existePlaquetteInDB] Un truc vient de casser.
    System.Data.Odbc.OdbcException: ERROR [08004] [Microsoft][ODBC SQL Server Drive
    r][SQL Server]The server principal "CDM\BONNARJU" is not able to access the data
    base "CNC1_TARIF_NI" under the current security context.
    à System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode re
    tcode)
    à System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior,
    String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMeth
    od)
    à System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior,
    String method, Boolean needReader)
    à System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
    à System.Data.Odbc.OdbcCommand.ExecuteReader()
    à CNC1.Plaquette.existePlaquetteInDB() dans C:\Users\BONNARJU\Documents\Visua
    l Studio 2005\Projects\CNC1\PlaquetteTarifaire\Plaquette.cs:ligne 112

    Mon souci fondamental et joyeusement casse bonbon, réside dans le fait que si j'ouvre la connexion avec la chaine Scnx, j'ai la joie de ne pas avoir de problème de login, car monUIDspecialBDD est accepté par la bdd.
    Alors que dans le using (ou sans parce que j'ai testé les 2), il veut me logguer avec mon identifiant windows (pas glop).


    Des idées, des conseils ?



    Par avance, merci.


    Bisalité

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,

    Pour ma part j'ai eu pas mal de problème avec le fameux ODBC, j'ai résolu mes problème en basculant sur OLE DB car d'après ce que j'ai pu lire, ODBC serait en passe de devenir obsolète. (Info ou intox ... je ne sais pas)

    Mais en tout cas avec OLE DB cela marche très bien.
    Sinon vérifie ta connection string :
    http://www.connectionstrings.com/sql-server-2005

    Et pour terminer, je déclare ma string comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string Scnx = @"Data Source=SERV\BDD;Initial Catalog=PROD;Integrated Security=True" .... ;
    PS : je ne sais pas si cela va résoudre ton problème mais ça peut être une piste.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pas lu, mais pour sql server, c'est pas une bonne idée de passer par oledb et encore moins par odbc, il y a un provider spécial dans .net pour sql server (dans system.data.sqlclient)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    pas lu, mais pour sql server, c'est pas une bonne idée de passer par oledb et encore moins par odbc, il y a un provider spécial dans .net pour sql server (dans system.data.sqlclient)
    J'ai pas eu l'occasion de choisir odbc, on va dire que c'est imposé, je vais voir si c'est pas plus simple d'utiliser data.sqlclient, après je ferais du lobbying si ça se révèle viable.


    Merci pour l'info !


    Ju

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    y a rien à installer en plus pour utiliser sqlclient ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre averti
    Inscrit en
    Février 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 16
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    y a rien à installer en plus pour utiliser sqlclient ...
    J'ai vu ça, je dois être plus conne que la moyenne mais ça me sort un autre message d'erreurs :

    System.Data.SqlClient.SqlException : Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas acessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes.
    Je suis vernie je crois

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

Discussions similaires

  1. Rediriger les erreurs d'authentification avec syslog
    Par ibhow dans le forum Administration système
    Réponses: 1
    Dernier message: 07/08/2008, 20h23
  2. hamster + erreur d'authentification POP3
    Par une_tite_question dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 27/05/2008, 20h48
  3. [OWA 2007] Message d'erreur après authentification
    Par phoenix75 dans le forum Exchange Server
    Réponses: 0
    Dernier message: 29/02/2008, 10h31
  4. [PostgreSQL] [PostgreSQL] erreur d'authentification
    Par snipes dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/05/2007, 01h22
  5. [SQL Server][ODBC - BDE]Erreur hstmt
    Par Zatoobux dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/08/2004, 15h06

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