Search code examples
c#hibernatenhibernatesybase

Retrieve Image Field From Database using NHibernate UniqueResult()


I'm trying to retrieve an Image datatype field from a Sybase database using NHibernate BUT the data is being truncated after 32768 bytes is retrieved.

Sample code :

        using (var session = NHibernateBroker.OpenSession())
        {
                var sb = new StringBuilder();
                sb.Append("SELECT file ");
                sb.Append("FROM newTable WHERE name = 't'");

                var query = session.CreateSQLQuery(sb.ToString());
                var data = query.UniqueResult(); //This returns a byte array. 
                //Files smaller than 32768 bytes are retrieved without any issue
        }

How can I retrieve files larger than 32768 bytes?


Solution

  • Found that Sybase limits the text/image data type transfers to 32KB by default.

    Added the following to my connection string to override it -

    textsize=500000
    

    Additional info