求助--使用DataAdapter更新数据源时失败。
private void SaveChange()
{
this.Validate();
this.gagesBindingSource.EndEdit();
gagesTableAdapter.Update(this .gMS_NEWDataSet .Gages );
}
我是使用SQL 2000来存储数据的,数据表中存有ntext与image类型的字段,但当在.net中调用以上的一个函数来向数据源插入一行时出现以下的错误提示:
“查询处理器未能用优化程序生成查询计划,因为查询无法同时更新聚集键和 text、ntext 或 image 列。”
请问这是什么原因呢,有什么办法可以解决??或者这涉及到SQL什么方面的知识呢?麻烦提点一下,我可以自己去查帮助文档的。
------解决方案--------------------表里是否有多个索引,考虑在索引管理里面取消聚集索引
------解决方案--------------------参考一下邹老大的例子
use tempdb
go
create table tb(id int primary key clustered,a text,b nvarchar(100),c ntext,d image)
insert tb select id,name=max(name),max(name),max(name),cast(max(name) as varbinary) from sysobjects group by id
go
update tb set id=-10000,a= 'b ',b= 'c ',c= 'd ',d=0x
where id=1
go
drop table tb
------解决方案--------------------image字段要以流的形式存储进数据
以前也见过类似的问题,因为sqlserver2000也在这方面(结果集冗余)存在这一定的问题,你先打下sp4的补丁,在看看结果
http://support.microsoft.com/kb/841404/zh-cn