不明楼主所说的是那个游标.
oracle没分server/client
在.net中,记录集一般默认是server,可以设成client,功能比较大
oracle没分server/client
在.net中,记录集一般默认是server,可以设成client,功能比较大
解决方案 »
- 新手求救~!!!!!!!plsql development 出现ORA-12560: TNS: 协议适配器错误的问题
- ld: 0711-317 ERROR: Undefined symbol: .trim
- Oracle有show database吗
- 请问学习Oracle有什么不错的书,推荐一下。
- 分组和排序问题?????
- 通过IMP/EXP将从低版本ORACLE导出的数据导入高版本ORACLE数据库的问题
- 请教兄弟们一个大问题呀!~
- 请问一下用C++开发ORACLE需要那些库,那位兄弟有资料吗?
- 请问oem到底提供了那些可示化操作功能?oem的用户为森么部时数据库用户!
- ora 01843:无效的月份/解决方法
- (高分送上)关于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上可以下载的。