求aspnet+C# 存储Oracle的CLob字段的源代码!

解决方案 »

  1.   

    以下是一个写入的示例代码.主要是用参数式的写入方式.你可参考一下.string fileName = "xxxx";
    string fileclob = "xxxx";
    System.Data.OracleClient.OracleConnection conn;
    string connString = "数据库连接串;";
    conn = new OracleConnection(connString);
    conn.Open();
    //用参数方式写入数据库
    OracleCommand myComm = conn.CreateCommand();
    //定义SQL语句
    string sql = "insert into table(filename,fileclob) " +
    " values(@filename,@fileclob)";myComm.CommandText = sql;
    myComm.Parameters.Add("@filename",OracleType.NVarChar).Value = fileName;
    myComm.Parameters.Add("@fileclob",OracleType.Clob,System.Text.Encoding.Default.GetByteCount(fileclob)).Value = fileclob;//写入数据库
    myComm.ExecuteNonQuery();
      

  2.   

    我的代码:其中WebCustomControl1 为一个在线编辑器。
    public bool ExecuteSql(string strSql,string paramname,WebCustomControl1 edit)
    {
    Open();
    IDbCommand myCommand=null;
    IDbTransaction tr=null;
    myCommand=new OracleCommand(strSql,(OracleConnection)connection);
    System.Data.OracleClient.OracleParameter Paramter=new OracleParameter(paramname,System.Data.OracleClient.OracleType.Clob);
    Paramter.Direction=System.Data.ParameterDirection.Input;
    Paramter.Value=edit.Text;
    myCommand.Parameters.Add(Paramter); try
    {
    myCommand.ExecuteNonQuery();
    tr.Commit();
    Close();
    }
    catch

    try
    {
    tr.Rollback();
    }
    catch
    {
    }
    Close();
    return false;
    }
    return true;
    }
    得到的错误是01461仅可为long列的long值赋值。
      

  3.   

    OracleType.Clob,System.Text.Encoding.Default.GetByteCount(fileclob)).你没看到他后面还有一个System.Text...吗?你照着门槛的方法试应该就可以,没用过ORACLE。不太清楚