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

NHibernate Discussion :

[C# 2.0/NHibernate] Pourquoi ce message d'erreur ?


Sujet :

NHibernate

  1. #1
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 118
    Points : 70
    Points
    70
    Par défaut [C# 2.0/NHibernate] Pourquoi ce message d'erreur ?
    Bonjour,

    Voici mon code :

    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
    33
    34
    35
    36
    37
    38
    39
     
            public void ddd()
            {
     
                // Active l'inscription des informations de débogages sur les
     opérations de NHibernate
                log4net.Config.XmlConfigurator.Configure();
     
     
                NHibernate.Cfg.Configuration cfg = new
     NHibernate.Cfg.Configuration();
                cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionProvider,
     "NHibernate.Connection.DriverConnectionProvider");
                cfg.SetProperty(NHibernate.Cfg.Environment.Dialect,
     "NHibernate.JetDriver.JetDialect, NHibernate.JetDriver");
                cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionDriver,
     "NHibernate.JetDriver.JetDriver, NHibernate.JetDriver");
                cfg.SetProperty(NHibernate.Cfg.Environment.ConnectionString,
     "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\nhibernate.mdb");
     
                System.IO.MemoryStream flux = new System.IO.MemoryStream
    (); // Contenant des informations
                NHibernate.Mapping.Attributes.HbmSerializer.Default.Validate =
     true; // Active la validation (optionnel)
                // Demande à NHibernate d'utiliser les champs et non les
     propriétés (dans les entités)
                NHibernate.Mapping.Attributes.HbmSerializer.Default.HbmDefaultAccess =
     "field.camelcase-underscore";
                // Récupère les informations à partir de cette assemblée (peut
     aussi être fait classe par classe)
                System.Console.Out.WriteLine
    ("NHibernate.Mapping.Attributes.HbmSerializer.Default.Serialize()...\n");
                NHibernate.Mapping.Attributes.HbmSerializer.Default.Serialize
    (flux, System.Reflection.Assembly.GetExecutingAssembly());
                flux.Position = 0;
                cfg.AddInputStream(flux); // Envoi les informations de Mappage à
     la Configuration de NHibernate
                flux.Close();
            }
    À la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cfg.AddInputStream(flux);
    , j'obtiens le message d'erreur suivant :
    Could not instantiate dialect class NHibernate.JetDriver.JetDialect, NHibernate.JetDriver
    .

    J'ai essayé de changer la chaine de connection mille et une fois, j'ai déplacé la BD un peu partout... J'ai les bonnes références.... Arrghhh ! J'avoue ne pas rien y comprendre.

    Je me suis pourtant basé sur l'example de la page suivant : http://kpixel.developpez.com/NHibernateEg/Tutorial1A/.

    Merci de votre aide.

    Martin

  2. #2
    Membre averti

    Inscrit en
    Septembre 2004
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 105
    Points : 339
    Points
    339
    Par défaut
    Assure toi que la DLL NHibernate.JetDriver.dll est bien dans le même repertoire que ton application.
    Le plus simple, c'est d'ajouter une réference à cette dll; comme ça la copie est automatique.

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Si tout comme moi et Margagn vous vous basez sur cette exemple pour développer votre propre application, vous risquez d'etre confronté au meme soucis si vous partez d'un nouveau projet.

    Pour comprendre pourquoi, faites un clic droit sur le nom du projet puis propriétés.
    Dans l'onglet "Evenements de génération", dans l'encadré "Ligne de commande de lévènement apres génération", le concepteur de l'exemple a ajouté ces lignes :

    copy /y "$(ProjectDir)..\nhibernate.mdb" "$(TargetDir)nhibernate.mdb"
    copy /y "$(ProjectDir)..\..\lib\net-1.1\NHibernate.JetDriver.dll" "$(TargetDir)NHibernate.JetDriver.dll"
    copy /y "$(ProjectDir)..\..\lib\net-1.1\MySql.Data.dll" "$(TargetDir)MySql.Data.dll"
    copy /y "$(ProjectDir)..\..\lib\net-1.1\ICSharpCode.SharpZipLib.dll" "$(TargetDir)ICSharpCode.SharpZipLib.dll"

    chose qu'il a oublié de mentionner sur son site

Discussions similaires

  1. [MySQL] Pourquoi mon message d'erreur ne s'affiche pas ?
    Par geeka dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 27/07/2014, 09h01
  2. Pourquoi j'ai ce message d'erreur?
    Par ivory972 dans le forum Langage
    Réponses: 11
    Dernier message: 29/10/2007, 15h27
  3. Réponses: 4
    Dernier message: 28/06/2006, 12h09
  4. [Outils]][C# 2.0/NHibernate] Pourquoi ai-je un souci de mapping ?
    Par joujou_le_fou dans le forum NHibernate
    Réponses: 3
    Dernier message: 11/05/2006, 18h55

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