ado连接oracle8的问题!谁能帮我?(100分)

  • 主题发起人 主题发起人 tigerricky
  • 开始时间 开始时间
T

tigerricky

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在编程时用使用delphi5的ado连接oracle8,在使用过程中发现一个怪现象。如果用ms ole db provider
for oracle(msdaora)连接oracle8,可以调用存储过程。但不能使用如select count(*) from dbf
的语句。如果用oracle provider for ole db连接则相反,可以用select count(*) from dbf
,不能调用存储过程。(用bde连接oracle8,则没有这些情况)
由于我写的系统两种情况都要用到,我又不想用bde,所以请教各位大峡,你们是怎样解决这些
问题的。(我的delphi5已经打了补丁,ado也升级了。不要说要我用delphi6啊)
 
最好使用Oracle Provider for ole db, 因为这是Oracle自己提供的。
至于你说不能调用存储过程,不知是什么意思
调用存储过程注意要写成PL/SQL的形式,即加上Begin ... end;
即:
begin
MyProcedure(param);
end;
 
谢谢!我所说的调用存储过程是指在delphi中用TADOStoredProc调用oracle中已经创建好的存储过程,
而不是自己写好sql,再add到adoquery的sql中再提交。用PL/SQL的形式送到adoquery中提交,
现在也用到,不过我要和别人公用到oracle中的存储过程。
 
当然应该用oracle的ado了,
使用存储过程使用adostoredproc就行.
指定存储过程名称,
 
hbezwwl你好!你可能没有看清我的问题。我的问题是用ado中的oracle provider for ole
db连接oracle时,调用存储过程有问题。不能调用,只能用ms ole db provider for oracle(msdaora)连接oracle8。
 
不要用MS得ADO来连接Oracle,用BDE吧
 
但现在我用的是ado啊!谁有好的ado连oracle8的驱动程序,我立马给分!
 
我的存储过程写在“包体”中无法使用。写在“过程”中使用没有问题。
用的adostoredproc。

请到 http://www.delphibbs.com/delphibbs/dispq.asp?lid=1317423 留言 拿分。
 
后退
顶部