Tutorial :NHibernate: Could not create the driver from Test.SqlServerCeDriver_ImageFix



Question:

Im trying to resolve an issue where when using NHibernate with a SqlServerCeDriver that uses an image column you receive an error: "Byte array truncation to a length of 8000.". I found the following solution:

http://mgeorge-notes.blogspot.com/2009/05/nhibernate-mapping-from-binary-to.html

And created the following class:

namespace Test  {      public class SqlServerCeDriver_ImageFix : SqlServerCeDriver      {          protected override void InitializeParameter(IDbDataParameter dbParam, string name, SqlType sqlType)          {              base.InitializeParameter(dbParam, name, sqlType);                if (sqlType is BinarySqlType)              {                    PropertyInfo dbParamSqlDbTypeProperty = dbParam.GetType().GetProperty("SqlDbType");                    dbParamSqlDbTypeProperty.SetValue(dbParam, SqlDbType.Image, null);                }            }        }  }  

But when I change the NHibernate mapping from NHibernate.Driver.SqlServerCeDriver to Test.SqlServerCeDriver_ImageFix I get the error, but I am not sure why.

The inner exception is: "Could not load type Test.SqlServerCeDriver. Possible cause: no assembly name specified."

Anyone have any ideas as to what im doing wrong?


Solution:1

When defining the driver in the config, define it with the AssemblyQualifiedName, i.e.:

Test.SqlServerCeDriver_ImageFix, MyAssemblyThatContainsThisType  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »