我用的是delphi6 采用BDE的native oracle连接oracle 8.1.7 (用odbc for oracle 无法看到数据库中的存储过程,用microsoft for oracle 无法执行query 中带有参数的sql语句,而且也看不到存储过程的参数),用BDE 连接前两个问题都已经解决了,但是无法执行带有参数的存储过程。在database explore中每个存储过程的parameters列表中是空的。用Tstoredproc在设计期也看不到存储过程的参数列表。在运行期动态创建。调用exeproc报告"operation not applicable"这到底是什么问题呢?存储过程在sqlplus中可以正常调用。这种问题到底是什么原因造成的请高手指点。
解决方案 »
- ClientDateSet复制另一个ClientDateSet数据
- 数据转换出错
- 惊闻伊拉克“前”总统 萨达姆.侯赛因 遇害,放分100,以示悼挽
- 如何在DELPHI中读取access数据库到DBGrid中?
- 请教dll问题,已经完成并通过测试的mdi程序能否整个做成dll?
- 急!FastReport打印问题?
- 在线等待...'将数据类型varchar转换为bigint时出错'?
- 对话框问题
- skinEngine还是BusinessSkinForm好
- 寻delphi兼职程序员,要求比较懂数据库,多劳多得,不劳不得,报酬从几十元到几千元不等。
- 谁能给我一个关于TListview 和 Ttreeview 的拖放的例子?
- 如何获取一个进程与外界通讯使用的端口及其流量?
我的配置应该是没有什么问题,因为单纯的测试表和查询什么都没有问题,就是看不到存储过程的参数列表:(
请大家帮帮忙吧。
真的没有人遇到吗?
问题出在对于Oracle数据库的存储过程Delphi不支持函数型存储过程,同时参数的类型也只能是Oracle支持的那几种,而对于SQl/plus中的Boolean等扩展类型一样不支持,直接报告不能执行错误,
因此如果要提供给Delphi程序调用的存储过程,只能使用procedure 而且如果要传结果就要通过procedure中的out型参数。而且参数类型只能是string,integer,float,double,date等Oracle数据库的基本类型。