我往DB2中写入一条记录,提示错误 实时错误'3215' Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.请教是什么问题引起的
    Dim rs As ADODB.Recordset
    Dim Con As ADODB.Connection
    
    Set Con = New ADODB.Connection
    Con.Open "Provider=IBMDADB2.1;Password=gykj84277666;User ID=ydfw;Data Source=YDFW;Persist Security Info=True"    
    Set rs = New ADODB.Recordset
    
    rs.Open "Select * From Area Where ID = 100", Con, adOpenDynamic, adLockOptimistic
    rs.AddNew
    rs.Fields("ID") = 100
    rs.Fields("Name") = "²âÊÔ"
    rs.Fields("Flag") = 1
    rs.Update
    rs.Close

解决方案 »

  1.   

    应该不是那个问题,权限是管理员权限,而且我用db2admin登录也不行,提示同样的错误,急啊!!
      

  2.   

    Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
    ---------------------
    译为:
    当前这条记录集不支持更新,可能是已选择锁的类型(类似:悲观锁.....)or用户权不够!用户权限不够不行,那就是锁的类型了!
      

  3.   

    我用ADODB连接DB2数据库时,如果用IBM OLE DB Provider For DB2 Servers 驱动连接数据,那么就无法用AddNew、Update 来进行操作,如果用Microsoft OLE DB Provider For ODBC Drivers驱动来连接时,可以使用AddNew、Update来增加修改记录,但是无法用AppendChunk 或 ADBDB.Stream来往Blob字段中写数据,我觉得是DB2数据库的配置问题,有人遇到过这种情况吗?
      

  4.   

    解决了设置 RS.CursorLocation = adUseClient 就可以了