Oracle Client Blob 10K ограничение с NHibernate и Mono? - PullRequest
0 голосов
/ 19 августа 2011

Некоторые подробности:

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, за исключением естественных путей.

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 19 августа 2011

Провайдер Mono Oracle, к сожалению, сейчас более или менее заброшен (точно так же, как провайдер Microsoft Oracle , чей API отслеживался Mono). Поскольку вы уже платите большие суммы за ядро ​​базы данных, я бы посоветовал потратить немного больше и приобрести коммерчески поддерживаемого поставщика Oracle ADO.Net. dotConnect для Oracle официально поддерживает Mono (и у меня был очень хороший опыт работы с ним), а DataDirect ADO.NET Data Provider для Oracle - это 100% управляемый код, поэтому теоретически он должен - - работать с Моно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...