代码改变世界

oracle 9.2.0.1.0版本 在操作BLOB数据时,为何总是提示异常?

2008-07-31 09:38  Jeffery Tao  阅读(692)  评论(3)    收藏  举报

这个是我的Code:

 

     /// <summary>
    /// 操作BLob字段
    /// </summary>
    /// <param name="data_id">对应表中身份证号码</param>
    /// <param name="p_Blob">对应要更新的Blob数据,是个Byte[]的图片数据</param>

public void updatePhoto(string data_id, byte[] p_Blob)
    {

        if (data_id != string.Empty&&p_Blob.Length>0)
        {
            String block = "update T_PEOPLE SET F_PHOTO=:photo where F_SFZH=:sfzh";

            // Set command to create Anonymous PL/SQL Block
            OracleCommand cmd = new OracleCommand();
            cmd.CommandText = block;
            cmd.Connection = mConn;


            // Since executing an anonymous PL/SQL block, setting the command type
            // as Text instead of StoredProcedure
            cmd.CommandType = CommandType.Text;
            OracleParameter param = cmd.Parameters.Add(":photo", OracleType.Blob);
            param.Direction = ParameterDirection.Input;
            param.Value = p_Blob;

            // Bind the parameter as OracleDbType.Blob to command for retrieving the image
            OracleParameter param2 = cmd.Parameters.Add(":sfzh", OracleType.VarChar);
            param2.Direction = ParameterDirection.Input;
            param2.Value = data_id;
            try
            {
                mConn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("site:"+ex.Source);
            }
            finally
            {
                mConn.Close();
            }
        }
    }

我在调试时,提示的异常:

ORA-01691: unable to extend lob segment GIS.SYS_LOB0000030767C00011$$ by 128 in tablespace GIS

请园子里的Oracle高手指点一下!