Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3432767
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: WINDOWS

2008-11-04 16:54:00

希望删除远程服务器serv2数据库db2中的表tb2中的部分行:  
  delete   from   serv2.db2.dbo.tb2   where   id   in   (select   id   from   tb3),表tb2和tb3的字段如下:  
  tb2:id,name  
  tb3:id,number  
   
  执行后报错:  
  服务器:   消息   7306,级别   16,状态   2,行   1  
  未能打开表   '"serv2"."dbo"."tb2"'(来自   OLE   DB   提供程序   'SQLOLEDB')。   提供程序未能支持行查找位置。   提供程序指出与其它属性或要求发生了冲突。  
  [OLE/DB   provider   returned   message:   多步   OLE   DB   操作产生错误。如果可能,请检查每个   OLE   DB   状态值。没有工作被完成。]  
  OLE   DB   错误跟踪[OLE/DB   Provider   'SQLOLEDB'   IOpenRowset::OpenRowset   returned   0x80040e21:     [PROPID=DBPROP_BOOKMARKS   VALUE=True   STATUS=DBPROPSTATUS_CONFLICTING],   [PROPID=DBPROP_COMMANDTIMEOUT   VALUE=600   STATUS=DBPROPSTATUS_OK],   [PROPID=Unknown   PropertyID   VALUE=True   STATUS=DBPROPSTATUS_OK],   [PROPID=DBPROP_IRowsetLocate   VALUE=True   STATUS=DBPROPSTATUS_CONFLICTING],   [PROPID=DBPROP_IRowsetChange   VALUE=True...  
 
 
解决方法:tb2.id设为主键
阅读(5013) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~