前几天有一个网友后端使用SQLServer2005,在Access企业版快速开发平台中同样条件的update语句有时能正常执行,有时等待很长时间然后提示“查询超时已过期”,如下图
让人非常郁闷,百思不得其解,之前有了解过SQLServer中使用text和ntext数据类型也会引起这种问题,但检查后端表中字段类型并没有发现使用这两种数据类型,只发现update更新语句中有三个相关的字段使用了nvarchar(max)数据类型,后来在网上查询了一下相关说明,了解到在SQLServer2005及以上的版本中,加入大值数据类型varchar(max)、nvarchar(max),可以等同于text和ntext数据类型,由此判断应该就是使用nvarchar(max)数据类型引起的,将nvarchar(max)改为nvarchar(3000)使用具体的长度,保存表,再在Access中多次测试update语句就再也没有出现“查询超时已过期”的提示。
所以建议Access升迁至SQLServer后注意不要使用varchar(max)、nvarchar(max)这两种数据类型。