不明楼主所说的是那个游标.
oracle没分server/client
在.net中,记录集一般默认是server,可以设成client,功能比较大
oracle没分server/client
在.net中,记录集一般默认是server,可以设成client,功能比较大
解决方案 »
- oracle存储过程java source返回一个list集合
- Oracle10G安装进行到检测时,出现警告,不知是否可以忽略
- 这种多表的SQL语句怎么写。。。。。求教!!!!
- oracle 连接错误 急急急!!!
- 使用日期当的问题
- 数据库开发和DBA会用到哪些工具?
- ORACLE和SQL SERVER的性能问题
- ora-12560 错误 请教达人
- Oracle9i 的预编译工具 Pro* C 怎么找,在哪里,还要安装什么吗,谢谢!!急
- 在Oracle 9i2中,不能用Oracle Enterprise Manager Console打开数据库,为何?(内详)
- (高分送上)关于Unix操作系统下Oracle的问题
- oracle无法启动!
碰到如下的错误,
Microsoft Cursor Engine 错误 '80004005'
数据提供程序或其他服务返回 E_FAIL 状态。 请看下面链接的文章内容。说到要用server-side cursors。所以我就不明白如何解决。两者区别何在?
http://support.microsoft.com/default.aspx?scid=kb;en-us;267455
ado的connection的cursorlocation分server-side和client-side.
区别在于:
1 Server_side,获得数据不是一次全部传到客户端,比如查询出1000,一次只返回100条,就把控制权交给你的应用程序,而服务器端应该有一个缓冲,等你recordset.movenext访问101的时候,在取100条,如此直到全部取道。Client-side,就是,有多少全部返回到客户端,才把控制权交给你的应用程序。这样,查询如果数据量很大的话,Server-side返回的速度快。但是movenext的时候,有时会慢。而client-side,前面慢,后来就不用担心。驱动程序会帮你做好之间的协调工作。
2 上面说的,只是理论上的,但是,实际应用中,却并不相同,要仔细分析。你用的是asp开发,你首先考虑的是,internet上有大量的用户访问,你首先要解决的是如何协调资源,如果全部用server-side,服务器的资源会耗费在保持连接上,如果并发量大的话,资源很快就耗尽。
3 所以,对于WEB的开发,首先需要建立一个Connection Pool,好在用ado,Microsoft为你做好了pool,不需要你自己开发代码,但是,条件是,你的程序必须立即释放资源。此时,应该用client-side.
应该是这样的结构
set cn=Server.CreateObject("adodb.connection")
cn.open ... '建立connection
cn.cursorlocation=aduserlcient '客户端
set rs=Server.CreateObject("adodb.recordset")
rs.open sql,cn,adopenstatic,adreadonly
set rs.activeconnection=nothing '释放连接资源
cn.close
...后续处理代码以上代码指应付查询,是先释放资源,再处理结果。如果server-side,就做不到。但是,如果写数据库的代码,就不能这样了,到可以考虑用Server-side,因为,你再没有rs.update前是不能释放连接的。总之,原理就是这样,具体应用,看自己的需求。
我查MSDN网站,上面要求我用Server-side,
http://support.microsoft.com/default.aspx?scid=kb;en-us;267455
还有,如果你用.NET开发的话,为什么不用oracle.net,Microsoft上可以下载的。