Delphi7下用dbExpress调用Oracle存储过程(返回数据集)的一个简单示例和调试过程Delphi7下用dbExpress调用Oracle存储过程(返回数据集)的一个简单示例和调试过程
作者: jrq标题: Delphi7下用dbExpress调用Oracle存储过程(返回数据集)的一个简单示例和调试过程 关键字: Delphi7 dbExpress Oracle 存储过程 游标 分类: 成功心得 密级: 公开
摘要:这是2003年曾发布在大富翁论坛上的笔记:
delphibbs/keylife/iblog_show.asp?xid=4018
今天转到这里一份,作备忘,以方便查阅。
标题:Delphi7下用dbExpress调用Oracle存储过程(返回数据集)的一个简单示例和调试过程关键字:Delphi7 dbExpress Oracle 存储过程 游标
作者:jrq
链接:delphibbs/keylife/iblog_show.asp?xid=4018
正文:一、问题缘起: 昨天晚上在
网络上偶遇jcc老兄,谈起一个月前的一个帖子。他是想用dbExpress调用oracle中返回数据集的存储过程,用来制作报表的。 对我来说,在Delphi中调用Oracle返回数据集的存储过程一直是个头疼的问题,以前曾用ADO调用过,费了很大劲才搞定(多谢大富翁论坛上的朋友热心帮助)。 当时我在那个帖子中插了一句话,又在QQ上和他聊了很多。后来在D6下做了个测试,用dbExpress调用oracle返回数据集的存储过程。尝试参考BDE的和ADO的调用的方法,调试了很长时间,都没有成功。再后来这个事就扔起来了,悬而未决。 昨天晚上恰又逢jcc,谈到了一个月前的这个
问题,他说&;ldquo;后来总算七碰八碰的把问题解决了,嘿嘿&;rdquo;。我听后,很是感兴趣,所以就做了一个DEMO来测试。 jcc的帖子链接如下: 大富翁的帖子: delphi
bbs/delphibbs/dispq.asp?lid=2196755 CSDN的帖子: expert.csdn.net/Expert/topic/2302/2302711.xml?temp=3.541201E-02 expert.csdn.net/Expert/topic/2358/2358613.
xml?temp=.748852 expert.csdn.net/Expert/topic/2353/2353495.xml?temp=.8681757 看帖子,是用的D6。于是在Delphi6中按照帖子所说的方法,将游标定义在包内,存储过程写在包外,用TSQLConnection连数据库,然后用TSQLStoredProc连存储过程,发现还是无法正常执行,出现错误提示,直到现在也没有搞明白问题所在。 接下来又搞了一个多小时,用PL/SQL写了一些简单的存储过程(带传入参数的和不带传入参数的)做测试,均调用不成功。需要和jcc做进一步交流,他正在加班,给我发来一句&;ldquo;现在忙!一定不要打挠,以后时间多的是给你!&;rdquo;就忙去了。 叹了口气,看来我只好自力
更生了。(写到这里想起了三五九旅和南泥湾,肃然起敬! ^ō^) 在整个的用D6调试的过程中,出现的错误提示,我见到的大致有以下几种情况: --------------------------- ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须说明标识符 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored. --------------------------- 或 --------------------------- ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用时参数数量或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored. --------------------------- 或 --------------------------- Access violation at address 00000000. Read of address 00000000. --------------------------- 有的时候还会出现&;ldquo;Access violation at address 06053AF8 in module 'dbexpora.dll'. Write of address 00000008.&;rdquo;这个错误提示。 这是
系统调用dbexpora.dll时出现的异常。 于是无限郁闷。@_@ 于是移师到Delphi7下继续调试。(潜意识中,我对
Delphi5、Delphi6和Delphi7的感情,是不一样,虽然它们一脉相承。奇怪吧?我也不知道这来源于哪里,也不能说倾向于那一个,但就是在感情上是