如何解决在 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 举报,一经查实,本站将立刻删除。