这些组件能够一次性检索多个结果集(例如,从存储的proc中检索),并且使用D5我可以成功使用NextRecordSet从Sql Server获取第二个和后续的结果集。
但是,如果我将光标位置指定为clClient,则此仅有效;如果我使用clServer,我得到一个"不返回多个结果集"错误。这是一个固有的限制(例如由客户端上的MDac层强加)还是可以从服务器端游标成功检索多个记录集?
答案 0 :(得分:3)
这是服务器端游标的固有限制。如以下MSDN link中所述:
服务器游标不能与生成多个语句的语句一起使用 一个记录集。
此限制适用于生成中描述的所有语句 多个记录集。有关更多信息,请参阅Generating Multiple Recordsets。如果服务器游标与任何语句一起使用 生成多个记录集,一个应用程序可以返回其中一个 以下错误:
- 无法在存储过程中打开游标,该存储过程中只有一个SELECT语句。
- sp_cursoropen。 statement参数只能是单个SELECT语句或存储过程。