VB6:通过ADO访问Oracle存储过程返回的结果集
微软的MDAC中oledb for oracle 驱动——对过程参数:估计:位置绑定
- 该驱动最新支持到Oracle8i的水平,且不再更新了
- 使用该驱动。只能使用ODBC的存储过程调用方式: "{call procename (?,?,....)}"
- 只能支持返回一个记录集
- 该记录集所在的形式sys_refcursor参数可以是最后一个参数 或者是 倒数第二个参数
- 不支持调用时省略具有默认值的参数!这使得Oracle过程扩展——添加后续默认参数变得困难——必须修改调用该过程的程序!!!
- 必须利用ado的command对象调用,ADO自动将该过程返回的记录集绑定到ado返回的recordset对象上
- 使用该驱动,无需特殊设置。
- 注意:我们可能注意到有种说法,使用 "{call procename (?,{reseltset 0,io_cursor},?,....)}"的方式——应该是使用ODBC oledb的调用方式
Oracle的ODAC中oledb 驱动——对过程参数只支持位置绑定
- 该驱动不断更新
- 使用该驱动。可以使用ODBC的存储过程调用方式: "{call procename (?,?,....)}";还可以使用Oracle的调用方式:"begin procename (?,?,....) ; end;"。但为了获得返回的记录集,必须使用ODBC方式
- 支持返回多个记录集,Recordset.NextRecordset()
- 该记录集所在的形式sys_refcursor参数可以是任意位置
- 支持过程的默认参数
- 必须利用ado的command对象调用,自动将该记录集绑定到返回的ado的recordset对象上,通过recordset对象的nextrecordset访问其他记录集
- 使用该驱动,必须设置connection对象或command对象的properties("PLSQLRSet")=true
- 支持更多的Oracle特有的数据类型,具有更高的效率
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)