Passing array to a stored procedure
Passing array to a stored procedure
Hello.
I want to pass an array to a stored procedure.
I have a type like: CREATE TYPE table_number AS TABLE OF number;
and i want to pass this array into procedure p$test(param$array table_number).
How can i do this?
Thank you.
I want to pass an array to a stored procedure.
I have a type like: CREATE TYPE table_number AS TABLE OF number;
and i want to pass this array into procedure p$test(param$array table_number).
How can i do this?
Thank you.
Hello,
Unfortunately, our dbExpress driver for Oracle does not support object types as parameters. This restriction is connected with the specificity of the Borland dbExpress implementation. You can find more detailed information in the ../Devart/Dbx/Oracle/Readme.html fiile, the Known Problems section.
Unfortunately, our dbExpress driver for Oracle does not support object types as parameters. This restriction is connected with the specificity of the Borland dbExpress implementation. You can find more detailed information in the ../Devart/Dbx/Oracle/Readme.html fiile, the Known Problems section.
Oracle dotConnect Professional
Hello,
The Professional edition has this option?
Thank you.
The Professional edition has this option?
Thank you.
Hello,
There is no Professional edition for dbExperss driver for Oracle. Only Standard Edition and Standard Edition with Source Code are available.
But as I have written earlier, you will not be able to use object types as procedure parameters in any version, because it's a dbExpress technology restriction.
There is no Professional edition for dbExperss driver for Oracle. Only Standard Edition and Standard Edition with Source Code are available.
But as I have written earlier, you will not be able to use object types as procedure parameters in any version, because it's a dbExpress technology restriction.
Help
Hello again.
Thanks for the promptness with which you answered me.
Is there any possibility to use arrays with any of your product. Any solution?
I saw an older post about working with array and i wonder if it works in my case: http://www.devart.com/forums/viewtopic. ... ight=array
Thank you.
Thanks for the promptness with which you answered me.
Is there any possibility to use arrays with any of your product. Any solution?
I saw an older post about working with array and i wonder if it works in my case: http://www.devart.com/forums/viewtopic. ... ight=array
Thank you.
Hello,
You can work with Oracle object types with the help of our ODAC components (http://www.devart.com/odac/). In the OCI mode, all Oracle types and features are supported, the latest version Oracle 11 inclusive.
You can work with Oracle object types with the help of our ODAC components (http://www.devart.com/odac/). In the OCI mode, all Oracle types and features are supported, the latest version Oracle 11 inclusive.
Re: Passing array to a stored procedure
Are table types such as "...type table of number" still not supported as parameters (in the dbexpress driver)?
If they are supported, could you please provide a sample? What data type should be used to populate the parameter?
Thank you
If they are supported, could you please provide a sample? What data type should be used to populate the parameter?
Thank you
Re: Passing array to a stored procedure
I read the source code and I don't think it is supported. I basically looked at TCRSQLCommand.setParamDescValue. It doesn't handle the dtTable type parameters.
But how hard can it be to add support for TABLE types? The TOCIMetaData.GetProcedureParameters returns the type of table for Table type parameters. Is there anything else needed?
I would like to use this thread to request support for this type of parameters.
Thanks
But how hard can it be to add support for TABLE types? The TOCIMetaData.GetProcedureParameters returns the type of table for Table type parameters. Is there anything else needed?
I would like to use this thread to request support for this type of parameters.
Thanks
Re: Passing array to a stored procedure
This is a restriction of the dbExpress technology, therefore we can't support this functionality
Re: Passing array to a stored procedure
Alex, could you please be more specific, what is exactly that the dbexpress technology is restricting or it doesn't support?
Thank you
Thank you
Re: Passing array to a stored procedure
Since dbExpress is designed for work with various databases, there is no implementation of specific data types for different databases in it. For example, in our DAC products, for support for such specific types, there are implemented separate classes for each type, and the is no such feature in dbExpress. Therefore you can work with common basic types only in dbExpress.
Re: Passing array to a stored procedure
Does the dbExpress driver support Oracle temporary tables? Just an idea for a workaround for the PL/SQL stored subprogram parameter limitation - insert (any number of) records into a temporary table (transaction scoped data) and then call a stored PL/SQL subprogram (within the same transaction) to use the data instead of getting it through parameter passing.
Thanks.
barbados
Thanks.
barbados
Re: Passing array to a stored procedure
Yes, dbExpress driver for Oracle supports the work with temp tables.