Hibernate su Oracle

martedì 30 marzo 2010 - 08.23

volperubbia Profilo | Senior Member

Ciao a tutti,
in una ASP.NET MVC application su VS 2008 vorrei configurare Hibernate per l'accesso ad Oracle 10,
ma ho qualche errore.

PROBLEMA 1
Ho definito un file Hibernate.cfg.xml sotto \Bin così:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="MySite">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="dialect">NHibernate.Dialect.Oracle9Dialect</property>
<property name="connection.connection_string">..............................</property>
<property name="show_sql">true</property>
<property name="use_outer_join">true</property>
<property name="command_timeout">60</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
</session-factory>
</hibernate-configuration>

Eseguendo il seguente codice:
Dim Factory As NHibernate.ISessionFactory = Nothing
Dim cfg As New NHibernate.Cfg.Configuration
cfg.Configure()
Factory = cfg.BuildSessionFactory()

ottengo Impossibile eseguire il cast di oggetti di tipo 'Oracle.DataAccess.Client.OracleConnection'
sul tipo 'System.Data.Common.DbConnection'. Qualche idea?

PROBLEMA 2
Un'altra cosa che volevo fare, risolto ciò, è evitare l'uso del file Hibernate.cfg.xml, spostando le configurazioni
nel Web.config. E' possibile? Ho provato così:

<configSections>
<section name="hibernate-configuration" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="MySite">
............. seasso contenuto del Hibernate.cfg.xml ........
</session-factory>
</hibernate-configuration>

ma da già errore su cfg = New NHibernate.Cfg.Configuration, Attributo 'xmlns' non riconosciuto ...
Qualche idea?
Grazie, Davide

Aggiornamento

PROBLEMA 1
Devo installare altri componenti oltre VS.2008 SP1???
Tipo il seguente:
http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html

PROBLEMA 2
Credo di aver risolto in questo modo (ovviamente devo provarlo dopo il problema 1,
ma almeno non mi da errore il web.config).
Ho eliminato il Hibernate.cfg.xml e spostato tutto nel web.config ...

<configSections>
<section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
</configSections>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory name="MySite">
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="dialect">NHibernate.Dialect.Oracle10Dialect</property>
<property name="connection.connection_string">...................................</property>
<property name="show_sql">true</property>
<property name="use_outer_join">true</property>
<property name="command_timeout">60</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<mapping assembly="MySite" />
</session-factory>
</hibernate-configuration>

Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5