Hello!
We use ODAC 6.90 for Delphi 2010 with Oracle 10.2 client. Some of our forms use TOraQuery with cached updates for reading and TOraStoredProc for saving. We have measured incoming traffic for some of the forms and result was awful! About 2 Mb for just one saved record! And nothing suspicious in DBMonitor log.
We have analyzed incoming packets from 1521 port. Most of the data received looks like Oracle metadata - fields description, types etc.
The question is: how can we forbid ODAC to read such a metadata and reduce our network traffic?
Huge network traffic when ODAC reads Oracle metadata
Hi!
I've sent example. The problem arises when:
1. We call procedure from a big package
2. We don't generate SQL at design time and we don't fill parameter list (we have to do like this for the sake of backward compatibility)
When Prepare method describes any packaged procedure it receives description of whole package. I believe it's standard OCI behaviour but it's wrong.
Can you fix it?
Thanks!
I've sent example. The problem arises when:
1. We call procedure from a big package
2. We don't generate SQL at design time and we don't fill parameter list (we have to do like this for the sake of backward compatibility)
When Prepare method describes any packaged procedure it receives description of whole package. I believe it's standard OCI behaviour but it's wrong.
Can you fix it?
Thanks!
Hello,
Thank you for the information.
We have reproduced the problem.
This problem is connected with the fact that we should get all of procedures and functions from a package to get a description of a procedure or function declared in a packageю
We will try to change this behaviour in the next version.
Now you can use the TOraQuery component with the following SQL text as a workaround:
it'll reduce the network traffic, so you will get the description of the needed procedure or function only.
Thank you for the information.
We have reproduced the problem.
This problem is connected with the fact that we should get all of procedures and functions from a package to get a description of a procedure or function declared in a packageю
We will try to change this behaviour in the next version.
Now you can use the TOraQuery component with the following SQL text as a workaround:
Code: Select all
OraQuery.SQL.Text := ' begin '+#13+
' pk_your_package.sp_your_procedure; '+#13+
' end; ';