Page 1 of 1

Invalid data when writing blob in direct mode

Posted: Thu 25 Jun 2009 07:24
by a-s-z
Hello,

I am getting invalid data in the database when writing blob field in direct mode. I am using Delphi 2007 with Odac non-Unicode.

Here is the output of a little test program:

Code: Select all

ODAC-Version: 6.80.0.51
Direct mode: Yes, Values NOT equal!
Original: 89504E47
Blob value: BF504E47
The example project is available, if needed.

Posted: Fri 26 Jun 2009 08:38
by Plash
Please send us your test project, or provide your code here.

Posted: Mon 29 Jun 2009 06:44
by a-s-z
Hi,
Plash wrote:Please send us your test project, or provide your code here.
You should have received the example project at Thursday, 25.6.2009, but I can post the source code here if you want.

Posted: Mon 29 Jun 2009 08:46
by a-s-z
Here is the output for latest release:

ODAC-Version: 6.90.0.52
Direct mode: Yes, Values NOT equal!
Original: 89504E47
Blob value: BF504E47

Posted: Tue 30 Jun 2009 08:48
by Plash
We have received your test project, and replied you by e-mail.

Posted: Tue 30 Jun 2009 11:06
by a-s-z
Hi Plash,
Plash wrote:We have received your test project, and replied you by e-mail.
the e-mail did not arrive yet. Do you have used the right address? If in doubt please use e-mail address from my profile data.

Posted: Tue 30 Jun 2009 12:02
by Plash
I repeat my reply here:

We cannot reproduce the problem. Please specify the character set of your database and your Windows regional settings.

Posted: Wed 01 Jul 2009 06:48
by a-s-z
Output:

Code: Select all

SysUtils.SysLocale: LCID = 0x0407
  Country         : Germany, [original] Deutschland
  Language        : German, [original] Deutsch
System-locale     : LCID = 0x0407
User-locale       : LCID = 0x0407
Thread-locale     : LCID = 0x0407

ODAC-Version: 6.90.0.52

Oracle version     : 10.2.0.4.0
Options.Charset    : 
Options.UseUnicdoe : False
NLS Parameters     :
NLS_LANGUAGE           : GERMAN
NLS_TERRITORY          : GERMANY
NLS_CURRENCY           : ?
NLS_ISO_CURRENCY       : GERMANY
NLS_NUMERIC_CHARACTERS : ,.
NLS_CALENDAR           : GREGORIAN
NLS_DATE_FORMAT        : DD.MM.RR
NLS_DATE_LANGUAGE      : GERMAN
NLS_CHARACTERSET       : WE8ISO8859P15
NLS_SORT               : GERMAN
NLS_TIME_FORMAT        : HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT   : DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT     : HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT: DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY      : ?
NLS_NCHAR_CHARACTERSET : AL16UTF16
NLS_COMP               : BINARY
NLS_LENGTH_SEMANTICS   : BYTE
NLS_NCHAR_CONV_EXCP    : FALSE

Direct mode: Yes, Values NOT equal!
Original: 89504E47
Blob value: BF504E47

Oracle version     : 10.2.0.4.0
Options.Charset    : 
Options.UseUnicdoe : False
NLS Parameters     :
NLS_LANGUAGE           : GERMAN
NLS_TERRITORY          : GERMANY
NLS_CURRENCY           : €
NLS_ISO_CURRENCY       : GERMANY
NLS_NUMERIC_CHARACTERS : ,.
NLS_CALENDAR           : GREGORIAN
NLS_DATE_FORMAT        : DD.MM.RR
NLS_DATE_LANGUAGE      : GERMAN
NLS_CHARACTERSET       : WE8ISO8859P15
NLS_SORT               : GERMAN
NLS_TIME_FORMAT        : HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT   : DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT     : HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT: DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY      : €
NLS_NCHAR_CHARACTERSET : AL16UTF16
NLS_COMP               : BINARY
NLS_LENGTH_SEMANTICS   : BYTE
NLS_NCHAR_CONV_EXCP    : FALSE

Direct mode: No, Values equal!

Posted: Mon 06 Jul 2009 05:58
by a-s-z
Any news on this issue? Do you need further information?

Posted: Mon 06 Jul 2009 12:35
by Plash
We have reproduced this problem, and we are working on it. You will be notified when we fix the problem.