RE: 10046 trace.. bind question

  • From: "Ric Van Dyke" <ric.van.dyke@xxxxxxxxxx>
  • To: "freek D'Hooge" <freek.dhooge@xxxxxxxxx>, <contactarul@xxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Sun, 24 Aug 2008 10:22:53 -0500

Roger that on the nvarchr2 or varchar2, like you I have seen the "n" data types 
don't get a value printed in the trace so I figured that the data is being 
interpreted as a varchar2 not an nvarchar2.

It would be interesting to see the SQL, the explain plan and the stat lines of 
the SQL being run, it may well be that a data type conversion is taking place, 
although it seems odd since Oracle by default always converts the SRTING type 
(varchar2 in this case) to a NUMBER and not a NUMBER to a STRING. So I don't 
think this is an implicit conversion.  But with out the code we are guessing.  

- Ric

 
-----Original Message-----
From: freek D'Hooge [mailto:freek.dhooge@xxxxxxxxx] 
Sent: Sunday, August 24, 2008 6:25 AM
To: Ric Van Dyke; contactarul@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: 10046 trace.. bind question

Hi,

oacdty=01 could mean varchar2 or nvarchar2. There is a huge difference
between the two as if a bind value is passed as a nvarchar2 and the column
datatype is a varchar2 then a implicit conversion is done, meaning that an
index will not be used.

I have found that (at least on 9i) in case of a nvarchar2 datatype the bind
value was not shown in the trace file (but the value length was).

Regards,
 
Freek D'Hooge
Uptime
Oracle Database Administrator
email: freek.dhooge@xxxxxxxxx
tel +32(0)3 451 23 82
http://www.uptime.be
disclaimer


________________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Ric Van Dyke
Sent: zondag 24 augustus 2008 3:24
To: contactarul@xxxxxxxxx; oracle-l@xxxxxxxxxxxxx
Subject: RE: 10046 trace.. bind question

Yes a 1 is a varchar2 data type.  You can see these data types in the:

Oracle® Call Interface Programmer's Guide,
10g Release 2 (10.2)
Part Number B14250-02

Chapter 3, Data Types, table 3-1.

What ever program is sending that in is not sending it as a number. 


--
//www.freelists.org/webpage/oracle-l


Other related posts: