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

Windows Forms Discussion :

error connexion ODBC a une base de donnees pour une requete select


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut error connexion ODBC a une base de donnees pour une requete select
    Bonjour a tous,

    je suis actuellemnt en train de mettre a jour un logiciel existant suite a un changement de serveur !
    Toute la base de donnees a bien sur etait reinstallee sur ce nouveau serveur.

    J'ai cree une connexion ODBC comme selon le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    OdbcConnection Cnx ;
    string db = "NOMBASE" ;
    string sCnx = "Driver={Pervasive ODBC Client Interface}; " ;
            sCnx += "ServerName=SERVEUR_NT; DBQ="+db+"; " ;
    	sCnx += "TransportHint=TCP:SPX; " ;
    Cnx = new OdbcConnection(sCnx);
    Cnx.Open() ;
     
    // Requête
    string requete = "SELECT code_client AS Code, Raison_sociale AS Nom FROM CLIENT";
    Je n'ai trouve le moyen de tester si ma chaine de connexion est correcte car je ne sais pas comment proceder !

    Deplus, quand j'excecute mon code, j'ai le message suivant !
    Une exception non gérée du type 'System.Data.Odbc.OdbcException' s'est produite dans system.data.dll

    Informations supplémentaires : Erreur système.
    J'ai cherche en vain sur le net, l'origine de cette erreur.
    Savez vous comment de bloauer cette erreur, svp ?

    Je travaille sur Microsoft visual studio 2003 en C#
    Ma base de donnees est Pervasive 2000i
    Je suis sur le framwork 1.1

    Merci de vos conseils

  2. #2
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    As tu visité ce site: il regroupe toutes les chaînes de connexion des base de données qui existe. enfin au moins les plus connues

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    non, je n'avais pas ete sur ce site. Il est super je ne connaissais pas

    J'ai rajouter le @ avant mon nom de database. Mais j'ai toujours cette erreur avec system.data.dll !

    Il bloque sur le string de ma requete. POurtant celle-ci est bonne quand je l'execute sur ma base de donnees.

    Peut etre se sont mes dataset !

    DataSet dg_data = new DataSet() ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    OdbcDataAdapter sda_adapt = new OdbcDataAdapter("SELECT code_client AS Code, Raison_sociale AS Nom FROM CLIENT",(OdbcConnection)Cnx) ;
    sda_adapt.Fill(dg_data,"inutile") ;
    //mets dans une datagrid view
    grille.DataSource = dg_data ;
    Merci de ton aide

  4. #4
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Englobe ton code par un try/catch; tu auras peut être plus d'info sur ton erreur.

  5. #5
    Membre actif Avatar de g_tarik0010
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 186
    Points : 284
    Points
    284
    Par défaut
    Bonsoir,

    J'ai deux petites remarques à faire :

    1. Pour tu fait le cast vers OdbcConnection alors que ton objet est de type OdbcConnection

    2. Dans la fonction Fill tu lui passe deux parametres et tu menstionne que le deuxieme est inutile, alors que Fill peut accepter un Seul parametre voir le lien suivant pour les surcharges de la methode Fill

    Sinon pour ta requette essey d'enlever le " AS " pour voir si ca va marcher

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    J'ai trouve plus d'indication grâce au try catch auquel je n'avais pas pensé.

    Maintenant, je suis sur que c'est un problème de connexion à ma base de données car il bloque sur le Open().

    Ma string connexion correspond pourtant bien au site que vous m'avait conseillé :
    Comment tester ma connexion a ma base de données ? Auriez vous une idée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    OdbcConnection Cnx ;
     
    string sCnx = "Driver={Pervasive ODBC Client Interface};ServerName=SERVEUR_NT;dbq=@BASE; " ;
     
    Cnx = new OdbcConnection(sCnx);
    Cnx.Open();

  7. #7
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    A tout hasard, ServerName=myServerAddress

  8. #8
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2008
    Messages : 97
    Points : 62
    Points
    62
    Par défaut
    En fait, j'ai trouve mon erreur. Je me suis trompe sur le nom de la base de données. J'ai confondu le nom d'affichage de la base de donnees et le nom réel de la base. Il fallait rajouter un "0".

    De quoi être énervée parfois. Merci pour votre aide et surtout pour le try/catch sans lequel j'aurais jamais trouve mon erreur !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2009, 11h45
  2. comment editer les donnee d'une base de donnees dans une application xbap?
    Par sanaaafkir dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 19/05/2008, 16h26
  3. Réponses: 5
    Dernier message: 24/04/2008, 14h34
  4. Choix pour une base de données
    Par vivelesgnous dans le forum Général Python
    Réponses: 3
    Dernier message: 21/06/2006, 22h02
  5. donnees d'une base de donnees vers un tableau
    Par matterazzo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/10/2005, 23h05

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