Некоторые подробности:
NHibernate : 2.1.2.4000
Oracle Instant client : x64 11.2.0.2.0
Mono : Mono JIT compiler version 2.10.2
В настоящее время я немного борюсь с Oracle и BLOB-объектами, в результате чего в базу данных вставляется только 10 КБ BLOB-объектов.Хотя это работает в Windows, в Linux, похоже, что-то другое.Глядя на sql, все кажется нормальным.Вот усеченный SQL-оператор.
INSERT INTO Voters (Photo) VALUES (:p1);:p1 = 0x424DF627090000000000360000002800000090....
Отображение гибернации выглядит следующим образом
, а класс выглядит следующим образом:
public partial class Voter : BusinessBase<long>
{
#region Declarations
private byte[] _photo = null;
#endregion
public virtual byte[] Photo
{
get { return _photo; }
set { _photo = value; }
}
}
Кодгде объект избирателя сохраняется, выглядит следующим образом
Voter entityVoter = Voter.copyFrom(record.TRANSACTION);
IVoterManager managerVoter = ManagerFactory.Instace.GetVoterManager(managerBulkImport.Session);
managerVoter.SaveOrUpdate(entityVoter);
File.WriteAllBytes("/home/user/voter" + entityVoter.Id + ".bmp", entityVoter.Photo);
И образ, записанный на диск после сохранения объекта, также является правильным, что заставляет меня думать, что проблема может быть в клиенте oracle?И, как я уже сказал, этот код работает на Windows, за исключением естественных путей.
Любая помощь будет принята с благодарностью!