对,过程中long raw类型的限制就是32k,不仅是long raw,所有类型都有这个限制,如果你想插入这个数据,可以用循环,拆了插入,反正都是二进制。我们常用的办法就是在程序中插入,
如ado+VB用ado的rs.addnew就可以插入32k以上的数据

解决方案 »

  1.   

    还有一点,建议换long raw为blob,
    blob有专门的dbms_lob包使用。
    而且oracle建议使用lob类型,long型是一个快被淘汰的类型
      

  2.   

    不错,LONG迟早要被淘汰,而且操作起来很不方便,不如改了吧.
      

  3.   

    谢谢各位!
    我用的是DELPHI。
    请问在过程中是否能实现?
      

  4.   

    原来我也是用blob的,但在过程中不能向上面那样操作,所以就该为long raw了。
      

  5.   

    penitent(只取一瓢) :
    我们常用的办法就是在程序中插入,
    如ado+VB用ado的rs.addnew就可以插入32k以上的数据。请问能不能给一段代码??
      

  6.   

    delphi不熟vb中操作blob类型字段是用ADO的mstream对象实现的。Private Sub OperateBlob(i As Boolean)
    Dim gConnectionSql As New ADODB.Connection
    Dim mRec As New ADODB.Recordset
    Dim mStream As New ADODB.Stream
    mRec.Open "select fbinfile from testblob where id=1", gConnectionSql, adOpenDynamic, adLockOptimistic
            If Not mRec.EOF Then
                mStream.Type = adTypeBinary
                mStream.Open
                mStream.LoadFromFile "c:\sqlnet.log"
                mRec.Fields(0).Value = mStream.Read
                mRec.Update
                mStream.Close
            End If
            mRec.Close
    Else
            mRec.Open "select fbinfile from testblob where id=1", gConnectionSql, adOpenDynamic, adLockOptimistic
            mStream.Type = adTypeBinary
            mStream.Open
            mStream.Write mRec.Fields("fbinfile")
            mStream.SaveToFile "d:\sqlnet.log"
            mStream.Close: mRec.Close
        End If
        
        
        gConnectionSql.Close
        Set gconnection = Nothing
    End Sub要不你到delphi论坛去问问!