ОК. Итак, у меня AS400 / iSeries с v5r4. У меня есть приложение, которое использует классический NHibernate для подключения и выполнения некоторых основных действий. Теперь я вытащил это приложение (которое просуществовало 2 года) с полки TFS на новый ПК и, похоже, не может его запустить.
Вот мой Hibernate Config:
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">
NHibernate.Connection.DriverConnectionProvider
</property>
<property name="dialect">
NHibernate.Dialect.DB2400Dialect
</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>
<property name="connection.connection_string">
DataSource=207.206.106.19;
Database=AS400;
userID=XXXXXX;
Password=XXXXXXX;
LibraryList=FMSFILTST,BEFFILT,HRDBFT,HRCSTFT,J20##X2DEV,GLCUSTDEV,OSL@@F3DEV;
Naming=System;
Initial Catalog=*SYSBAS;
</property>
<property name="use_outer_join">true</property>
<property name="query.substitutions">
true 1, false 0, yes 'Y', no 'N'
</property>
<property name="show_sql">false</property>
<mapping assembly="BusinessLogic" />
</session-factory>
</hibernate-configuration>
У меня есть все необходимые DLL (NHibernate, castle, iesi, antlr3, log4 и т. Д.). Также есть эта строка в моем web.config
<runtime>
<assemblyBinding>
<qualifyAssembly partialName="IBM.Data.DB2.iSeries" fullName="IBM.Data.DB2.iSeries,Version=10.0.0.0,PublicKeyToken=9CDB2EBFB1F93A26,Culture=neutral"/>
</assemblyBinding>
</runtime>
Все же я получаю следующую ошибку, как только я звоню
NHibernate.Cfg.Configuration().Configure().BuildSessionFactory().OpenSession();
Ошибка выглядит следующим образом
Невозможно привести объект типа
'IBM.Data.DB2.iSeries.iDB2Connection'
набрать 'System.Data.Common.DbCommand'
Я очень хочу получить помощь с этим. Любая помощь приветствуется. Спасибо!