Register  -  Login
Current Page:  Forums
Forum
 
  Forum  NHibernate  NHibernate Ital...  Cambio di database (un po' lungo)
Previous Previous
 
Next Next
New Post 8/30/2006 6:26 PM
  anonymous
0 posts
No Ranking


Cambio di database (un po' lungo)  (Italy)

Ho costruito un db con SQL server 2005 con la seguente tabella

IdCliente, Ragione_Sociale, Partita_Iva e sede con IdCliente chiave primaria e la tabella l'ho chiamate tlb_cliente

ho realizzato il seguente file di configurazione chiamtato cliente.hbm.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" default-access="property">
  <class name="Esempio.Cliente, Esempio" table="tlb_cliente">
    <id name="Id" column="id_cliente"  unsaved-value="0">
      <generator class="native" />
    </id>
    <property name="RagioneSociale" column="Ragione_Sociale"/>
    <property name="PartitaIva" column="Partita_Iva" />
    <property name="Sede" column="Sede" />
  </class>
</hibernate-mapping>

e le impostazioni nel file app.config sono le seguenti:

configuration>
  <configSections>
    <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

  <nhibernate>
    <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
    <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=Hquickstart;Integrated Security=SSPI"/>
  </nhibernate>
</configuration>

Questo è il codice che la utilizza:

ISession session = SessionHelper.GetSession();
Cliente cliente = new Cliente();
cliente.RagioneSociale = "Ditta 2";
cliente.PartitaIva = "0000102324";
cliente.Sede = "Qualche parte nel mondo";
session.SaveOrUpdate(cliente);
session.Flush();
session.Dispose();

(SessionHelper.GetSession() è una funzione che fa una BuildSessionFactory su un oggetto configuration)

Con SQLServer va tutto a gonfie vele.

Ora costruisco un db in MSAccess, che ha gli stessi nomi di tabelle e campi del rispettivo db in sqlserver, e nel app.config ci scrivo la seguente impostazione

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

  <nhbernate>
    <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
    <property name="dialect">NHibernate.JetDriver.JetDialect, NHibernate.JetDriver</property>
    <property name="connection.driver_class" value="NHibernate.JetDriver.JetDriver, NHibernate.JetDriver" />
    <property name="connection.connection_string">Provider=Microsoft.Jet.OLEDB.4.0;Data Source="D:\Documenti\Visual Studio 2005\Projects\NHibernateStudy1\QuickStart.mdb"</property>
  </nhbernate>
</configuration>

all'esecuzione del codice ottengo il seguente errore: "The type initializer for 'Esempio.SessionHelper' threw an exception" e lo stack trace è il seguente:

System.TypeInitializationException was unhandled
  Message="The type initializer for 'Esempio.SessionHelper' threw an exception."
  Source="Esempio"
  TypeName="Esempio.SessionHelper"
  StackTrace:
       at Esempio.SessionHelper.GetSession()
       at Esempio.Program.Main(String[] args) in D:\DocumentiRLMobile\Visual Studio 2005\Projects\NHibernateStudy1\Esempio\ConsoleApplication1\Program.cs:line 13
       at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()

Cosa può essere successo ?

Grazie anticipatamente per la risposta

 

 
New Post 8/30/2006 6:59 PM
  luke
60 posts
www.lukesoft.com
No Ranking


Re: Cambio di database (un po' lungo)  (N/A)
Qui ti serve il contibuted; hai aggiunto il riferimento alla dll NHibernate.JetDriver.dll ?

Verifica a questo indirizzo, alla sezione Access, se hai eseguito tutto a regola d'arte (http://www.hibernate.org/361.html)
 
New Post 8/30/2006 7:23 PM
  anonymous
0 posts
No Ranking


Re: Cambio di database (un po' lungo)  (Italy)

Ho aggiunto la dll mancante, ora continuo ad avere lo stesso errore.

Nel progetto ho sia il file app.config che hibernate.bhm.xml, quest'ultimo è una embeded resource.

 

 
Previous Previous
 
Next Next
  Forum  NHibernate  NHibernate Ital...  Cambio di database (un po' lungo)
  Print  


Licenza Creative Commons

Privacy Statement  |  Terms Of Use  |  Copyright 2005, 2007 by lukeSoft.com