Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用NHibernate和Mono的Oracle客户端Blob 10K限制?_C#_Oracle_Nhibernate_Mono_Blob - Fatal编程技术网

C# 使用NHibernate和Mono的Oracle客户端Blob 10K限制?

C# 使用NHibernate和Mono的Oracle客户端Blob 10K限制?,c#,oracle,nhibernate,mono,blob,C#,Oracle,Nhibernate,Mono,Blob,一些即时的细节: NHibernate : 2.1.2.4000 Oracle Instant client : x64 11.2.0.2.0 Mono : Mono JIT compiler version 2.10.2 我目前正在与Oracle和blob做斗争,因为只有10K的blob被插入到数据库中。虽然这在Windows上确实有效,但在Linux上似乎有所不同。看看sql,一切似乎都很好。下面是截断的sql语句 INSERT INTO Voters (Photo) VALUES (:p

一些即时的细节:

NHibernate : 2.1.2.4000
Oracle Instant client : x64 11.2.0.2.0
Mono : Mono JIT compiler version 2.10.2
我目前正在与Oracle和blob做斗争,因为只有10K的blob被插入到数据库中。虽然这在Windows上确实有效,但在Linux上似乎有所不同。看看sql,一切似乎都很好。下面是截断的sql语句

INSERT INTO Voters (Photo) VALUES (:p1);:p1 = 0x424DF627090000000000360000002800000090.... 
hibernate映射如下所示

下面是我们的课堂

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上工作,除了路径


任何帮助都将不胜感激

不幸的是,Mono Oracle提供程序现在或多或少被放弃了(就像Mono跟踪的API一样)。由于您已经为数据库引擎支付了大量资金,我建议您多花一点钱,购买一个商业支持的Oracle ADO.Net提供商。官方支持Mono(我在这方面有很好的经验),并且是100%托管代码,所以理论上它也应该与Mono一起工作