在用VC开发的应用程序中,访问Oracle数据库的存储过程中出现了问题如下:在脚本里面调用存储过程的时候,如果用exec mysp 就报告"无效字符";如果用 {call mysp} 则报告“游标错误” 奇怪的是,用一个古老的版本的平台程序则可以用 {call mysp} 完成调用。

原因排查:

最初的se程序在访问数据库接口的时候只区分select 开头的语句和非select开头的语句。对于非select开头的语句一律用odbc的 CDatabase::ExecuteSQL函数处理;对于select开头的语句使用 CRecordSet::Open处理。所以{call mysp}语句是用CDatabase::ExecuteSQL处理的,没有问题。

而新版本的se为了处理call mysp的返回,使用了CRecordSet::Open来处理。这在微软的SqlServer下没有问题,但是在Oracle下就不行了。

解决方案:

在连接oracle数据库的时候,call mysp这样的语句不能用 crecordset::open处理,只能用cdatabase::executesql处理。

说明:exec mysp 一般只能用在数据库服务器自己的客户端里面,如sqlserver的 企业管理器或者oracle的sql plus ,不能用在c语音接口里面。而call mysp则可以用于任何场合。

关于在VC开发的程序里面访问Oracle数据库存储过程的问题的原因分析及解决方案就介绍到这里了,如果您想了解更多关于Oracle数据库的知识,可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定可以带给您收获的!

【编辑推荐】

【责任编辑:赵鹏 TEL:(010)68476606】

点赞 0

vc cdatabase oracle,VC程序访问Oracle数据库的存储过程时的问题解决方案相关推荐

  1. Oracle DBlink创建访问远程数据库

    一.使用场景 当要夸服务器访问数据库时,我们可以使用dblink建立连接服务器间的通道,本地创建了远程数据库的dblink后,访问远程服务器的库就像操作一个库一样了. 二.查看已创建的DBlink S ...

  2. mysql访问oracle数据_python访问Oracle及Mysql数据库

    # !/usr/local/python # -*- coding: utf-8 -*- import cx_Oracle import pymysql # --------oracle链接数据库-- ...

  3. oracle 安装程序异常终止,Oracle安装错误“程序异常终止

    Oracle安装错误"程序异常终止.发生内部错误.请将以下文件提供给oracle技术支持部 "程序异常终止.发生内部错误.请将以下文件提供给oracle技术支持部门: " ...

  4. 艰难的起步---微信小程序访问MSSQL数据库实例

    一直做单机版应用程序开发,这不客户都需要手机端的小程序嘛!眼看着客户要纷纷"掉粉",急了!必须马上学起!起步的确有点难,好在掉了些头发(摸摸还好)突破了通路,高兴之余写下来,希望能 ...

  5. (0017)iOS 开发之Mac上安装Eclipse、创建java后台程序访问本地数据库

    Mac 上安装Eclipse 1. Eclipse下载列表: http://www.eclipse.org/downloads/packages/release/Neon/2 2.不同的开发需求下载不 ...

  6. 微信小程序访问云数据库

     1.Copy官网测试代码另保存Test.html ,修改APPID和ENVID      公众号使用云开发 / 极简示例 / HTML | 微信开放文档 (qq.com) <html>& ...

  7. mysql数据库访问程序_c++程序访问MySQL数据库操作示例

    1.安装mysql sudo apt-get install mysql-server mysql-client 安装过程中会提示设置用户名和密码 2.启动mysql sudo /etc/init.d ...

  8. 使用 ADO.NET 访问 Oracle 9i 存储过程

    使用 ADO.NET 访问 Oracle 9i 存储过程 show toc 欢迎来到 MSDN > 数据 使用 ADO.NET 访问 Oracle 9i 存储过程 发布日期: 5/28/2004 ...

  9. ado.net能访问oracle,利用ADO.NET访问Oracle数据库的实现

    1.前言随着互联网的发展,人们对Web网页的要求越来越多的趋向于动态交互性,而这很大程度上依赖于Web数据库.因为动态交互需要强大的信息系统支持,信息数据以数据库形式表示更容易更新和管理.通过网页如何 ...

最新文章

  1. 区块链仅仅只是炒作吗
  2. 安卓队列缓存文件,包括断点续传
  3. 专题目录20211013-ongoing
  4. 数据结构与算法(C++)– 图(Graph)
  5. BOOST使用 proto::extends 扩展终端类型的简单示例
  6. Oracle 重复数据查询以及删除
  7. 最长无重复字符子串?
  8. 【一】Jmeter:体系结构
  9. 理解 TCP(二):报文结构 1
  10. 服务器电源控制芯片,服务器电源中的PFC控制芯片HA16141的应用.pdf
  11. 【大数据部落】R语言犯罪率回归模型报告Regression model on crimerate report
  12. UbuntuSkills
  13. 基于opencv的数字识别
  14. 超详细陀螺仪MPU6050模块输出姿态角(有完整版源码)
  15. oracle11g跟踪,Oracle 11g DRCP连接跟踪配置
  16. 西部素质教育杂志西部素质教育杂志社西部素质教育编辑部2022年第13期目录
  17. 用函数画出可爱的卡通猫
  18. 假设检验,显著性,置信水平,p值,点估计
  19. #2021暑假杭电多校8_1003.Ink on paper
  20. win10禁用笔记本原本键盘

热门文章

  1. Unity3d 集成 Android 系统打印功能
  2. easyui---使用教程
  3. 新型Linux勒索软件恶意来袭
  4. Improved Disease Classification in Chest X-Rays with Transferred Features from Report Generation论文解读
  5. 2023华为OD机试真题目录 B卷,使用C语言进行解答
  6. ITextSharp 批量电子签章
  7. RTKLIB学习资料(博客)
  8. Android TabLayout选项卡点击选中Ripple水波纹
  9. 基于Kaggle训练集预测的多层人工神经网络的能源消耗的时间序列预测(Matlab代码实现)
  10. HTML+CSS:渐变background-image: linear-gradient