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 :

Problème avec "Source de données"


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Problème avec "Source de données"
    Bonjour,

    Je suis en train d'apprendre le C# et j'ai un problème lorsque je veux créer une application avec une base de donnée. J'utilise Visual Studio.
    Lorsque je suis dans la fenêtre "Source de donnée" et que je clique sur "Ajouter une base de donnée", une autre fenêtre s'ouvre et je configure comme expliqué dans le livre et ensuite, lorsqueje clique sur "Terminer", j'ai un message d'erreur :
    ----------------------------------------------
    "Une erreur s'est produite lors de la création de la nouvelle source de donnée : Impossible d'obtenir des informations de type pour "CarTracker.CarTrackerDataSet"."
    ----------------------------------------------

    Pouvez-vous me guider pour résoudre ce problème?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par wood_phil Voir le message
    Bonjour,

    Je suis en train d'apprendre le C# et j'ai un problème lorsque je veux créer une application avec une base de donnée. J'utilise Visual Studio.
    Lorsque je suis dans la fenêtre "Source de donnée" et que je clique sur "Ajouter une base de donnée", une autre fenêtre s'ouvre et je configure comme expliqué dans le livre et ensuite, lorsqueje clique sur "Terminer", j'ai un message d'erreur :
    ----------------------------------------------
    "Une erreur s'est produite lors de la création de la nouvelle source de donnée : Impossible d'obtenir des informations de type pour "CarTracker.CarTrackerDataSet"."
    ----------------------------------------------

    Pouvez-vous me guider pour résoudre ce problème?

    Merci d'avance
    Bonsoir et bienvenue sur les forums.

    A la lecture de ceci, je crois que tu mélanges certains points. Tu veux ajouter une "base de données" mais tu essayes d'ajouter un "dataset" semblerait-il. Je dois avouer ne jamais avoir cette erreur mais je crois que cela a un rapport.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Plus d'explications...
    J'ai joint un "print screen" de l'erreur que j'ai.
    En fait, j'ai créé 4 tables avec des clés primaires.
    J'ai créé les liaisons entre les tables.

    Ensuite, je dois un DataSet et j'obtien l'erreur lorsque je clique sur Terminer.

    Pouvez-vous m'indiquer ce que je dois faire?

    Merci d'avance
    Images attachées Images attachées  

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Peux tu montrer ton code ? S'il y a un bug dedans, qui serait la cause de ton erreur, il y a plein de gens compétents ici qui pourront te la signaler.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Je n'ai pas écris de code
    Je n'ai pas de code à montrer car je n'ai rien écris comme code.
    Je veux juste "Ajouter une nouvelle source de donnée".
    Les tables et les relations sont crées. Lorsque j'utilise l'assistant pour la création de la nouvelle source de donnée, j'obtiens l'erreur :
    -------------------------------------------------------------------
    "Une erreur s'est produite lors de la crétion de la nouvelle source de données : impossible d'obtenir des informations de type pour "Car_Tracker.CarTrackerDataSetf" ".
    -------------------------------------------------------------------

    Voilà les étapes que je réalise :
    => Je crée un nouveau projet et je l'enregistre
    => J'ajoute un nouvel élément => Base de donnée et je la nomme "Car_tracker"
    => Je crée 4 tables avec des clés primaires.
    => Je crée le diagramme avec les relations
    => J'encode des données dans les tables
    => Ensuite, je veux ajouter une nouvelle source de donnée et le message d'erreur apparaît...

    Qu'est-ce que je dois faire pour ne plus avoir cette erreur? Est-ce un problème avec C#? ou avec SQL?

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Quel SGBD utilises tu ? SQL Server ? Oracle ?
    Ta base de données doit être créée et accessible AVANT d'éxecuter l'assistant "source de données".
    Cet assistant permet de générer un DataSet liés à des tables d'une base de données, il NE permet PAS de créer une base de données.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    Comme l'a dit SaumonAgile, les DataSet sont des représentations mémoire de l'état de ta base de données.

    En aucun cas, ils ne sauraient etre utilisé pour la créer. En revanche ils peuvent être utilisé pour effectuer des adjonctions dans les tables, des suppressions et des mises à jour, puisqu'ils représente l'état de tes tables à l'instant t0 au moment du chargement. Si tu les modifies, si tu as introduit les commandes SQL qui vont bien, faire un update du dataset sur la base permet de synchroniser l'état de la base avec la représentation mémoire. (les commandes sont les select, les insert, les delete et les update qui vont bien...)
    Dans ton cas, la base n'est pas initialisée, voir même pas créée dans le SGBD... donc quand il accède à la base il essaie de mapper la base à tes DataSet et là c'est le drame... il ne trouve pas le schéma que tu as développé dans ton DataSet sur la base... d'où ton erreur.

    Avant de travailler avec l'éditeur de source de données, utilise ton client SQL (SQL Management Studio si SQL Server 2005) pour te connecter au SGBD,
    créer tes tables et les relations entre elles.
    Ensuite quand tes tables avec les bons noms, les bonnes colonnes, et surtout les bonnes relations seront créées, tu pourra faire le binding sous VS2005, pas avant.
    Attention: si ton schéma sous VS diffère, ne serait ce qu'un petit peu de celui de la base, tu aura une erreur similaire indiquant que le mapping est impossible à appliquer entre la base et ton DataSet.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Je pense que j'avance mais...
    Bonjour Cinemania et SaumonAgile,

    En fait j'ai téléchargé le Microsoft SQL Server 2005 et j'utilise VS C# 2005 Express pour créer les bases de données et les relations.

    Avec VS 2005, je faisais les tables et les relations dans VS 2005. Ensuite, lorsque je voulais créer le DataSet (donc la mise en mémoire de la base de donnée), l'erreur apparaît.

    Maintenant, en lisant vos réponses, j'ai téléchargé SQL Server Management.
    => Cinemania, tu m'as dit que je devais créer les tables et les relations dans SQL Server Management => C'est fait. => Nom de la base de donnée => Essai_Car_Tracker.mdf (stocké dans la répertoire DATA du serveur SQL : fait par le soft)

    Ensuite, j'ai créé exactement les mêmes tables et relations dans VS 2005 et j'ai nommé le même nom => Essai_Car_Tracker.mdf (Stocké dans un répertoire de "Mes Documents".

    Ensuite, j'ai voulu créer le DataSet avec l'assistant et j'ai d'abord choisi la base de données créée par VS 2005 et j'ai encore la même erreur.

    Dans l'assistant, lorsque je choisi la base de donnée créée par SQL Server Management, j'ai une erreur comme quoi la base de donnée existe déjà... (Je n'ai pas une erreur de mapping...)

    Comment faire le binding dans VS 2005?

    Est-ce que je procède de la bonne manière ainsi? Est-ce que je dois bien créer les deux bases identiques dans les deux soft (SQL management et VS 2005)?

    Un grand merci pour votre aide

    Sébastien

  9. #9
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Utilise l'explorateur de serveur (accessible depuis le menu affichage), pour te connecter à ta source de données et drag & dropper les tables que tu veux ajouter dans ton DataSet. Si tu veux aussi les relations entre les tables, sélectionne plusieurs tables et déplace les sur ton DataSet en une seule fois.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Par défaut Suite des tests...
    Je n'ai pas trouvé l'explorateur de serveur. J'ai regardé dans le VS 2005 et le SQl Server Management. Je dois Drag & Dropper les tables dans le DataSet créé dans l'explorateur de Solutions? J'ai essayé et cela ne marche pas.


  11. #11
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par wood_phil Voir le message
    Je n'ai pas trouvé l'explorateur de serveur. J'ai regardé dans le VS 2005 et le SQl Server Management. Je dois Drag & Dropper les tables dans le DataSet créé dans l'explorateur de Solutions? J'ai essayé et cela ne marche pas.

    Cf pièce jointe.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  12. #12
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Bonsoir

    j'ai pas tout lu dans ce fil mais juste pour dire, SaumonAgile l'explorateur de serveur n'est pas disponible sur les versions express et il me semble bien que wood_phil utilise cette version il aura l'explorateur de base de données c'est tout.

    Capitaine Kirk.

Discussions similaires

  1. [Pentaho BI-server 2]Problème avec les sources de données
    Par jonathansauret dans le forum Pentaho
    Réponses: 1
    Dernier message: 11/03/2009, 08h59
  2. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27
  3. problème avec ma base de donnée
    Par polace dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 22/10/2005, 22h26
  4. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59
  5. problème avec ma base de données
    Par pmboutteau dans le forum ASP
    Réponses: 6
    Dernier message: 25/02/2005, 12h59

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