微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Oracle 数据库中保存图像

如何解决在 Oracle 数据库中保存图像

nhibernate xml 文件中可以使用什么样的数据类型来存储图像到数据库中。对应表中的Fileld Type为Blob

数据库:Oracle
IDE:visual studio 2015
NhiberNate 版本:3.3.1.4000
DotNetFrameWork 版本:4.5.1
Nhibernate Stored Procedure Mapping xml文件

                 <sql-query name="InsertBlobInfo" callable="true">
                   <query-param name="p_firstname" type="string"></query-param>
                   <query-param name="p_lastname" type="string"></query-param>
this line Type?    <query-param name="p_image" type="binaryblob"></query-param>
                   {call karimitestproc2(:p_firstname,:p_lastname,:p_image)}
                 </sql-query> 

这是我的 C# 代码

public string InsertBlob(KarimiTest1 model)
        {
          
            using (var session = SessionFactory.OpenSession())
            {
                try
                {
                    var query = session.GetNamedQuery("InsertBlobInfo");
                   // query.SetParameter("p_id",model.Id );
                    query.SetParameter("p_firstname",model.FirstName);
                    query.SetParameter("p_lastname",model.LastName);
                    query.SetParameter("p_image",model.Image,NHibernateUtil.BinaryBlob);
                    var result = query.List();
                    return result.ToString();
                }
                catch (Exception ex)
                {
                    var oraEx = ex.InnerException as OracleException;
                    if (oraEx == null)
                        throw;
                    else
                        throw new Exception(HandleErrors(oraEx.Number));
                }
            }
        }

model.Image 是字节数组

我的程序代码

create or replace procedure KarimiTestProc2
(out_res out sys_refcursor,P_FirsTNAME in VARCHAR2,P_LASTNAME in VARCHAR2,P_IMAGE in BLOB)AS
Begin  
 INSERT INTO KARIMITEST1(ID,FirsTNAME,LASTNAME,IMAGE) VALUES(KARIMITEST1_SEQ.nextval,P_FirsTNAME,P_LASTNAME,P_IMAGE);
 commit;
 open out_res for select 1 res from dual;
End KarimiTestProc2;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。