[fpc-pascal] fcl-db: oracle SP

Bee bisma at brawijaya.ac.id
Fri Apr 4 15:38:51 CEST 2008


> Wow, so there is actually someone using the oracle-connection... I
> thought I only made it for pr-purposes. ;)

This is my first time experience with Oracle using FPC. I'm now using 
FPC 2.2.1 and Lazarus 9.24.1. :-D

> Btw: fcl-db contains all the TDataset-based components. Also TDataset
> itself is part of fcl-db. But also TMemDataset and tDbf. If you wanna
> use some other db-framework like ZEOS you also need fcl-db.

I understand this.

> sqldb is just one way to use TDataset, it's part of fcl-db, but it's not
> an alias or something. Just to clear this up.

Confirmed. :)

> That sqldb doesn't return data from a stored procedure is probably
> because it only tries to fetch data if the query starts with 'select' or
> 'show'. I'll have to add 'call' to that list for Oracle and do some
> tests.

I found that there are 2 kinds of server side code on Oracle. First, is 
what called as "stored procedure" aka SP. Second, is what called as 
"store function" aka SF.

For SP, Oracle returns the output as out param with cursor type. To call 
SP, I'm using "call sp_name(:param)". The param is set accordingly 
through OI. But, I have no idea how to obtain the cursor and read the 
data within it. My code always raises an AV.

For SF, Oracle returns the output as row. To call SF, I'm using "call 
sf_name from dual". But, I found the output of SF is not "compatible" 
with TDataSource, and it raises an AV too.

I then digged deeper to the FCL's oracle binding codes and I found that 
many Oracle's data types and features not yet wrapped. Transaction and 
cursor are some of them. CMIIW.

For comparison, I look at PHP oracle examples. PHP has support for 
cursor type. But, I don't understand why PHP requires two calls for 
OCIExecute to get an SP result.

> Can you submit a bug-report?

I want to make sure my attempts are on the right track before I submit a 
bug report. So, Joost... please help me here. If I found it's not too 
difficult to help you fix fcl oracle, I can manage my time to help. TIA.

-Bee-

has Bee.ography at:
http://beeography.wordpress.com




More information about the fpc-pascal mailing list