Number update problem

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
alexmcc
Posts: 17
Joined: Fri 07 Mar 2008 10:11

Post by alexmcc » Tue 29 Sep 2009 10:35

Plash wrote: This code has no effect for the current ODAC version. But we will fix this problem in the next ODAC build.
Thak you.
I hope what you will fix this problem for stored proc parameters too, and not only for query, but for insert, update and delete too :-)

Do you have a plan to add PL/SQL tables of binary_double support to next ODAC release?

alexmcc
Posts: 17
Joined: Fri 07 Mar 2008 10:11

Post by alexmcc » Mon 19 Oct 2009 17:01

Plash wrote:This difference that you bind the parameter as SQLT_BDOUBLE while ODAC binds it as SQLT_FLT.

You can use the following code to bind the parameter as BINARY_DOUBLE:

Code: Select all

type
  TOraParam_ = class(TOraParam);
...
  OraQuery.Params[0].AsFloat := d;
  TOraParam_(OraQuery.Params[0]).SubDataType := dtBDouble;
This code has no effect for the current ODAC version. But we will fix this problem in the next ODAC build. The BINARY_DOUBLE parameter will be used by default when you edit SELECT query with a BINARY_DOUBLE field.
Is this code working now?

Can you also answer my question:

Do you have a plan to add PL/SQL tables of binary_double support to one of the next ODAC releases?

We have many PL/SQL procedures, what using PL/SQL tables of binary_double . We need to know: should we migrate PL/SQL code to object type and TOraArray or not?

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Tue 20 Oct 2009 08:15

Yes, this code works with the latest ODAC build.

You can use the same trick with SubDataType to work with PL/SQL tables of BINARY_DOUBLE.

alexmcc
Posts: 17
Joined: Fri 07 Mar 2008 10:11

Post by alexmcc » Mon 26 Oct 2009 14:56

Plash wrote:Yes, this code works with the latest ODAC build.

You can use the same trick with SubDataType to work with PL/SQL tables of BINARY_DOUBLE.
Thank you. It works fine for simple binary_double-type parameters and for nested tables of binary_double (without the trick it works too for nested tables)!

But does not work for PL/SQL tables of binary_double (with the trick or without the trick - no differences).
If I use PL/SQL tables of binary_double as stored proc parameter, I have this message when exec stored proc:
Project Project1.exe raised exception class EOraError with message 'ORA-06550: line 2, column 73:
PLS-00418: array bind type must match PL/SQL table row type

Does ODAC support parameters that are PL/SQL tables of binary_double?
Have you a plan to add this support on next release?

We need to know: should we migrate from PL/SQL tables of binary_double to nested tables or we can wait for next release?

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 28 Oct 2009 10:42

Probably you forget to set the SubDataType property. I have sent to your e-mail the test project that uses the table of BINARY_DOUBLE as a parameter.

Post Reply