Я использую Visual Studio 2005 с NHibernate-2.1.2.GA в Windows Server 2003.Не удалось создать экземпляр класса говор NHibernate.Dialect.Oracle9iDialect
Я пытаюсь соединить оракула с NHibernate в моей ASP.net программе.
Чтобы получить версию моего оракула, я запустить этот SQL: select * from v$version
Результат показывает версию оракул oracle9i
.
Итак, я пишу NHibernate.cfg.xml
так:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2" >
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="connection.connection_string">
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=MYORACLE)));
user id=team;password=team;
</property>
<property name="adonet.batch_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle9iDialect</property>
<property name="use_outer_join">true</property>
<property name="command_timeout">10</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="proxyfactory.factory_class">
NHibernate.ByteCode.Castle.ProxyFactoryFactory,
NHibernate.ByteCode.Castle
</property>
<mapping assembly="NHibernateSample.Domain"/>
</session-factory>
</hibernate-configuration>
Теперь, когда я запускаю тестовый блок, который попытается подключиться оракула и преобразования приложений SQL-запроса:
private ISession _session;
private SessionManager _helper;
private NHibernateSample _sample;
public void TestFixtureSetup()
{
_helper = new SessionManager();
}
public void Setup()
{
_session = _helper.GetSession();
_sample = new NHibernateSample(_session);
}
[NUnit.Framework.Test]
public void GetCustomerById1Test()
{
TestFixtureSetup();
Setup();
NHibernateSample _sample = new NHibernateSample(_session);
Assert.AreEqual(1, _sample.GetCustomerById(1).Id);
}
он сообщает ошибки, подобные следующие:
Test 'NHibernateSample.Data.Test.NHibernateSampleFixture.GetCustomerById1Test' failed: NHibernate.MappingException : Could not compile the mapping document: NHibernateSample.Domain.Mappings.Customer.hbm.xml
----> NHibernate.HibernateException : Could not instantiate dialect class NHibernate.Dialect.Oracle9iDialect
----> System.TypeLoadException : Could not load type org.NHibernate.Dialect.Oracle9iDialect. Possible cause: no assembly name specified.
Я знаю, что это проблема новичков, е! Я ценю ваши идеи ...
Я редактирую xml, как вы указываете, но результат тот же! –
@ user1201399: так теперь ошибка 'System.TypeLoadException: Не удалось загрузить тип NHibernate.Dialect.Oracle9iDialect' правильно? Какую версию NHibernate вы используете? –
Да, результат подобен тому, что вы говорите. Моя NHibernate версия NHibernate-2.1.2.GA –