Calling Pro*C program from a package", version 8.0.5

You Asked (Jump to Tom's latest followup)
Can you provide any information/examples of
a package that calls a Pro*C program.
The package must pass several parameters to the Pro*C program.
It would be even better if the package could pass
a pointer to a C stucture.

Thanks for your help.

Don Steger 
and we said...
In Oracle8.0 as you have, we cannot call a Pro*C application.  We have a feature 
called "external procedures" which allows us to write a stored procedure in C 
and call it.  This C code may call back into the database using OCI -- but not 
Pro*C in version 8.0.  

In Oracle8i release 8.1 -- external procedures can be written in Pro*C as well 
as OCI.  This would statisfy your needs.

You will never be able to pass a "pointer" from a package (PLSQL) to an external 
procedure as PLSQL does not have the concept of a pointer.  You can, in 
Oracle8i, pass object types (lots like records), arrays, and scalars to external 
procedures.

See 
http://download-east.oracle.com/docs/cd/A58617_01/server.804/a58236/10_procs.htm#433731
for info on extprocs in 8.0 and 
http://download-east.oracle.com/docs/cd/A81042_01/DOC/appdev.816/a76939/adg11rtn.htm#1656
for info on this feature as it exists in Oracle8i.
 
Reviews
PLease help me!! PRO*CAugust 25, 2005
Reviewer: Duda from Perú
In the question, they ask about call a PRO*C from database oracle. The answer 
didn't satisfied the question. You said: Yes IT can be do it, and put some 
links. I look in the links but nothing say about it. It says only C can be 
called from external procedures, never a pro*c. Please help me and explain step 
to step how can i call a pro*c from a pl/sql???
Thanks a lot 

Followup:
you write an external procedure in C (pro*c is a precompiler....)

If you have access to Expert One on One Oracle -- you have a huge example in 
that book.


See also:

http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a97269/pc_07pls.htm#8055
It shows that you change the way the pro*c connects, but from then on in "just 
pro*c". 

你可能感兴趣的:(package)