[.NET/NHibernate] config file driver_class

Pagina: 1
Acties:

  • cenix
  • Registratie: September 2001
  • Laatst online: 05-05 19:45
Momenteel ben ik een beetje aan het uitzoeken hoe het O/R mapper verhaal in elkaar steekt. Nu doe ik dit op basis van NHibernate.
Ik heb de quickstart 'tutorial' gevolgd en de zaken allemaal uitgevoerd (de doc is niet altijd even duidelijk, met name de assembly references).

Als ik nu mijn test (console) app run, dan krijg ik de volgende melding:
The hibernate.connection.driver_class must be specified in the NHibernate configuration section.
waaruit blijkt dat de connection.driver_class niet gespecificeerd is. Echter het staat wel gedefinieerd in de config file. Hieronder staat een deel van de app.config (waarin de NHibernate config staat) - ik heb de niet relevante stukken weggelaten

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  <configSections>
    <section 
        name="nhibernate" 
        type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    />
  </configSections>
    
  <nhibernate>
    <add 
        key="hibernate.dialect"                      
        value="NHibernate.Dialect.MsSql2000Dialect" 
    />
    <add 
        key="hibernate.connection.driver_class"          
        value="NHibernate.Driver.SqlClientDriver" 
    />
    <add 
        key="hibernate.connection.connection_string" 
        value="Server=localhost; initial catalog=NHibernate; Trusted_Connection=yes" 
    />
  </nhibernate>


Ik dacht dus dat hij de config file niet kon vinden, maar deze wordt ook netjes naar de output directory verplaatst (en hernoemd naar <exe>.config)

Verder heb ik de code voor de aanroep van de Configuration de volgende codes geprobeerd:

C#:
1
2
Configuration cfg = new Configuration().AddAssembly("NHibernate");
//Configuration cfg = new Configuration()..AddXmlFile("users.hbm.xml");


Ik heb een tijdje zitten puzzelen, maar zowel GoT als google leveren geen relevante informatie op.
De documentatie is ook nog niet echt je van het, maar dat geven ze zelf ook aan :Y)

Iemand een idee?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Moet je niet ook een section maken:

XML:
1
2
3
4
5
    <configSections>
        <sectionGroup name="Mapper">
            <section name="nhibernate" type="System.Configuration.NameValueSectionHandler" />
        </sectionGroup>
    </configSections>


Of iets in die richting.

  • cenix
  • Registratie: September 2001
  • Laatst online: 05-05 19:45
Ik heb de volgende code gekopieerd van de quickstart guide

code:
1
2
3
4
5
6
  <configSections>
    <section 
        name="nhibernate" 
        type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    />
  </configSections>


In de documentatie (para 2.4) staat eenzelfde configfile

  • cenix
  • Registratie: September 2001
  • Laatst online: 05-05 19:45
Ik heb toch het advies van questa (de sectionGroup) geprobeerd maar ik krijg hetzelfde resultaat - niets.

Tevens heb ik het project even opnieuw opgebouwd om te kijken of ik iets vergeten was of iets dergelijks, maar ik krijg hetzelfde resultaat. Toch vreemd dacht ik zo.

  • cenix
  • Registratie: September 2001
  • Laatst online: 05-05 19:45
Zeer vreemd, tenminste voor mij, maar als ik de domain-classes in een aparte namespace plaats en de nodige wijzigingen maak in de mapping file, dan werkt het wel. Ik zou denken dat ik de domain-classes in dezelfde namespace mag hebben als mijn andere files.

code:
1
<class name="NHibernateTest.Domain.User, NHibernateTest" table="users">