C#环境下往oracle中的blob字段插入文件

添加引用            

using System.Data.OracleClient;

主要用到了两个类

System.Data.OracleClient.OracleConnection 表示一个到数据库的连接。此类无法继承。
System.Data.OracleClient.OracleCommand   表示针对数据库执行的 SQL 语句或存储过程。此类无法继承。

 

m_path为已经获取的文件名(full name)

表FJ_S中定义了三个字段XM_ID(varchar(50)),XM_NAME(varchar(50),FJ_FILE(blob)

 

        private bool InputRecordToOracle(string sFilePath

        {
            if (m_Path == null)
            {
                return false;
            }
            //获得文件流

            System.IO.FileStream pFS = new System.IO.FileStream(m_Path, FileMode.Open, FileAccess.Read);
            Byte[] pBuffer = new Byte[pFS.Length];//把文件转成Byte型二进制流
            pFS.Read(pBuffer, 0, pBuffer.Length);//把二进制流读入缓冲区
            pFS.Close();

            try
            {
                string sConnecStr = "Data Source=*;User ID=*;Password=*";
                OracleConnection pConn = new OracleConnection(sConnecStr);

                pConn.Open();
                OracleCommand pCmd = pConn.CreateCommand();
               
                pCmd.CommandText = "insert into FJ_S(XM_ID,XM_NAME,FJ_FILE) values('" + this.txtXMID.Text +
                    "','" + this.txtXMName.Text +"',:Doc)";   //正常sql语句插入数据库

                pCmd.Parameters.Add("Doc", OracleType.Blob, pBuffer.Length);
                pCmd.Parameters[0].Value = pBuffer;

 

                //针对 Connection 执行 SQL 语句并返回受影响的行数。
                pCmd.ExecuteNonQuery();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
            return true;
          

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值