[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