
ado
imlmy
这个作者很懒,什么都没留下…
展开
-
存储过程Append 二进制 _ParameterPtr“不正常地定义参数对象。提供了不一致或不完整的信息”
使用ado调用存储过程,其中一个参数为image类型,当插入的二进制长度为空时,出现“不正常地定义参数对象。提供了不一致或不完整的信息”错误。代码如下SAFEARRAY *psa;SAFEARRAYBOUND rgsabound[1];rgsabound[0].cElements = size;rgsabound[0].lLbound = 0;psa = SafeArrayCrea原创 2013-01-20 11:56:30 · 3223 阅读 · 1 评论 -
存储过程获取RecordSet的RecordCount为-1
使用ado直接执行sql,可以通过RecordSet的RecordCount获取结果集的数据量。但是如果是执行存储过程,就无法通过RecordCount来获取数据量信息,需要设置连接对象的CursorLocation为CursorLocationEnum::adUseClient,将结果集中所有数据存储到本地才能获取结果集数据量。但是这样导致本地内存占用很大,所以换一个思路,直接在存储过程中用输出原创 2013-03-18 15:24:48 · 2532 阅读 · 0 评论 -
VC ado调用oracle执行存储过程获取记录集
最近在做一个项目,数据库是用SQL Server,不过最近突然来了个需求说要改用Oracle。之前对SQL Server ado访问层做了一些封装,想试试看能不能简单修改后兼容oracle。测试过程中发现执行sql语句没什么问题,但是执行存储过程就失败了。主要是oracle和SQL Server在存储过程上差异比较大。在网上搜了一下,基本方法都是创建一个oracle存储过程,如果需要返回记录集原创 2013-05-07 14:33:20 · 3060 阅读 · 0 评论 -
ado执行存储过程中包含结果集获取输出参数为VT_EMPTY
ado执行存储过程,如果存储过程中包含结果集返回和输出参数,会导致获取输出参数为VT_EMPTY。目前没有找到对应的原因,网上有提相关问题但是也没人解决。有哪位大侠知道原因的请留个言,也为其他开发人员提供一个解决思路。我目前的解决方法只能针对我遇到的情况。因为我使用的存储过程的返回结果集是中间结果集,不需要使用到,因此只要把返回结果集给去掉就行。不返回结果集的方法是在存储过程中加入SET NO原创 2013-03-18 16:46:54 · 2042 阅读 · 9 评论 -
SQL Server提高并发查询效率
通过去除锁提高SQL Server并发查询效率。不同版本的SQL Server对于并发查询做了不同的优化,导致查询效率差异。原创 2013-07-04 15:49:04 · 3497 阅读 · 1 评论 -
ado执行sql查询出现“发送数据流时出现算术溢出”错误
开发一个数据采集监控系统,比较变态的是有将近2000项数据。根据数据类型分多个表存储。数据库访问层采用ado。最近发现当一条sql一次性查询1700多个字段数据后就出现“发送数据流时出现算术溢出”错误。原创 2013-08-16 15:56:56 · 2548 阅读 · 0 评论