Thanks for replies guys,
Yes, the exception is thrown at run-time. I tried with SchemaExport also. But the exception is thrown again.
I added a bug report to jira
http://jira.nhibernate.org:8080/jira/browse/NH-1318
I'm sending NHibernate logs here too
Code:
18:42:02 [10] DEBUG NHibernate.Impl.Printer - WindowsApplication10.Patient{Gender=0, ID=1, LastName=Daniels, FirstName=Jack}
18:42:02 [10] DEBUG NHibernate.Impl.SessionImpl - executing flush
18:42:02 [10] DEBUG NHibernate.Impl.ConnectionManager - registering flush begin
18:42:02 [10] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister - Inserting entity: [WindowsApplication10.Patient#1]
18:42:02 [10] DEBUG NHibernate.Impl.BatcherImpl - Opened new IDbCommand, open IDbCommands: 1
18:42:02 [10] DEBUG NHibernate.Impl.BatcherImpl - Building an IDbCommand object for the SqlString: INSERT INTO S65A2F1D.EMOTDB.PATIENT (FIRSTNAME, LASTNAME, GENDER, ID) VALUES (?, ?, ?, ?)
18:42:02 [10] DEBUG NHibernate.Persister.Entity.AbstractEntityPersister - Dehydrating entity: [WindowsApplication10.Patient#1]
18:42:02 [10] DEBUG NHibernate.Type.StringType - binding 'Jack' to parameter: 0
18:42:02 [10] DEBUG NHibernate.Type.StringType - binding 'Daniels' to parameter: 1
18:42:02 [10] DEBUG NHibernate.Type.PersistentEnumType - binding '0' to parameter: 2
18:42:02 [10] DEBUG NHibernate.Type.Int32Type - binding '1' to parameter: 3
18:42:02 [10] DEBUG NHibernate.SQL - INSERT INTO S65A2F1D.EMOTDB.PATIENT (FIRSTNAME, LASTNAME, GENDER, ID) VALUES (?, ?, ?, ?); p0 = 'Jack', p1 = 'Daniels', p2 = 'Male', p3 = '1'
18:42:02 [10] DEBUG NHibernate.Connection.DriverConnectionProvider - Obtaining IDbConnection from Driver
18:42:02 [10] DEBUG NHibernate.Impl.BatcherImpl - Closed IDbCommand, open IDbCommands: 0
18:42:02 [10] DEBUG NHibernate.Impl.ConnectionManager - skipping aggressive-release due to flush cycle
18:42:02 [10] DEBUG NHibernate.Util.ADOExceptionReporter - could not insert: [WindowsApplication10.Patient#1] [INSERT INTO S65A2F1D.EMOTDB.PATIENT (FIRSTNAME, LASTNAME, GENDER, ID) VALUES (?, ?, ?, ?)]
System.NotSupportedException: Invalid data type.
at IBM.Data.DB2.iSeries.MPParamConverter.normalizeData(Object& data)
at IBM.Data.DB2.iSeries.iDB2Command.setRowOfParameterData(MpDcData[]& dcDataRow)
at IBM.Data.DB2.iSeries.iDB2Command.execute()
at IBM.Data.DB2.iSeries.iDB2Command.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd)
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
18:42:02 [10] WARN NHibernate.Util.ADOExceptionReporter - System.NotSupportedException: Invalid data type.
at IBM.Data.DB2.iSeries.MPParamConverter.normalizeData(Object& data)
at IBM.Data.DB2.iSeries.iDB2Command.setRowOfParameterData(MpDcData[]& dcDataRow)
at IBM.Data.DB2.iSeries.iDB2Command.execute()
at IBM.Data.DB2.iSeries.iDB2Command.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd)
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
18:42:02 [10] ERROR NHibernate.Util.ADOExceptionReporter - Invalid data type.
18:42:02 [10] ERROR NHibernate.Impl.SessionImpl - could not synchronize database state with session
NHibernate.ADOException: could not insert: [WindowsApplication10.Patient#1][SQL: INSERT INTO S65A2F1D.EMOTDB.PATIENT (FIRSTNAME, LASTNAME, GENDER, ID) VALUES (?, ?, ?, ?)] ---> System.NotSupportedException: Invalid data type.
at IBM.Data.DB2.iSeries.MPParamConverter.normalizeData(Object& data)
at IBM.Data.DB2.iSeries.iDB2Command.setRowOfParameterData(MpDcData[]& dcDataRow)
at IBM.Data.DB2.iSeries.iDB2Command.execute()
at IBM.Data.DB2.iSeries.iDB2Command.ExecuteNonQuery()
at NHibernate.Impl.BatcherImpl.ExecuteNonQuery(IDbCommand cmd)
at NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation expectation)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
--- End of inner exception stack trace ---
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Impl.ScheduledInsertion.Execute()
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
at NHibernate.Impl.SessionImpl.Execute()
18:42:04 [10] DEBUG NHibernate.Impl.ConnectionManager - registering flush end
18:42:04 [10] DEBUG NHibernate.Impl.ConnectionManager - aggressively releasing database connection
18:42:04 [10] DEBUG NHibernate.Connection.ConnectionProvider - Closing connection