我在一个连接内创建了4个临时表#temp1,#temp2,#temp3,#temp4
然后我需要依次查询4个表
SELECT #temp1
SELECT #temp2
SELECT #temp3
SELECT #temp4
我需要同时操作这4个结果集所以必须能够保证同时存在。
但是运行程序发现查询#temp1是可行的,查询#temp2就会报DB_E_NOTABLE .
我在网上看到了说明:如下:
SQL Server ODBC 驱动程序不支持多个活动的记录集相同的连接时使用仅向前型游标。对于 ODBC 驱动程序在 OLE DB 提供程序将尝试解决此限制,通过创建第二个连接。因为临时表仅对创建它的可见,应用程序未能找到表,并返回 DB_E_NOTABLE HRESULT。
和解决方法:
使用 ADO 的客户端游标。
用于 SQL Server Microsoft OLE DB 提供程序。
插入 rs.Release() 调用之间两个执行调用在 Visual c + + 的代码时使用仅向前型服务器端游标。但是看得不是很明白,什么是仅向前型游标和客户端游标?
而且插入rs.Release(),那不记录集释放了?我需要同时保持4查询个结果集一起操作呀,这怎么解决呢?
难道用全局临时表?