sergey i've found the source of the problem...
in the latest release of IBM .NET data provider, they changed the namespace and name of the dll;so when NH try to create the driver thrown an exception that tell me the following message:
The IDbCommand and IDbConnection implementation in the assembly IBM.Data.DB2 could not be found. Please ensure that the assembly IBM.Data.DB2 is in the Global Assembly Cache or in a location that NHibernate can use System.Type.GetType(string) to load the types from.
effectively in the NH DB2Driver.cs there is this code
Code:
public DB2Driver() : base (
"IBM.Data.DB2",
"IBM.Data.DB2.DB2Connection",
"IBM.Data.DB2.DB2Command" )
{
}
but in the new namespace dll name is IBM.Data.DB2.iSeries.dll and not IBM.Data.DB2.dll, then the classes are iDB2Connection, iDB2Command with i as prefix!
Version info
IBM DB2 UDB for iSeries .NET Provider
File version : 11.0.0.4
Assembly version : 10.0.0.0 V5R4M0
i think IBM created a different .NET data provider for DB2/400...
what do you think ?