Solved TD-22531: Error fetching VARCHAR2(2000) into long string

Post found bugs and possible workarounds.
holger.mueller
Austria
Posts: 198
Joined: 28 Aug 2017, 09:36
Location: Brunn am Gebirge, Austria

TD-22531: Error fetching VARCHAR2(2000) into long string

Post by holger.mueller » 09 Nov 2015, 20:58

Hi,

after first test with SP 1 and calling app connecting to Oracle, error "Invalid long field number" appears after a SQL-select against oracle while fetching VARCHAR2 longer than 254 into a long string-bind.

- Replacing sqlora32.dll with older version (6.3 UPD2) and fetching into long string => no error

Are there any changes in sqlora32.dll compared to older versions ?

TD 6.3 SP1 in the moment for Oracle not usable (workaround for testing: replace sqlora32.dll with older version of 6.3 UPD2)

Thanks

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 10 Nov 2015, 02:26

Hi Holger,

Can you tell me what version of the Oracle server you are using?

Also, Development have asked if you can provide a sample repo case or at least the sql statement.

Apparently there were some minor code changes for the Oracle 12 server, but they've said that this should *only* affect the Oracle 12 version.

Thanks!

Best regards,

holger.mueller
Austria
Posts: 198
Joined: 28 Aug 2017, 09:36
Location: Brunn am Gebirge, Austria

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by holger.mueller » 10 Nov 2015, 10:25

Hi Mike,

you are right.

- Oracle 12.1.0.2 produces the error
- Oracle 11.2.0.4 works fine

Greetings

Holger

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 10 Nov 2015, 10:41

Thanks, Holger! That will be invaluable information!

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 11 Nov 2015, 03:53

Hi Holger,

This is a bug that was introduced with a fix for TD6.2 SP4 in an EMP (which got rolled into the production release after testing). While this fixed the reporting customer issue, there were some other unexpected issues that have cropped up since the release.

This is already logged as TD-22531.

Sorry for the inconvenience. Please use the older sqlora32.dll from the previous release until we have a fix for this (expected with the TD6.3 SP1 Update 1 version).

Best regards,

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 11 Nov 2015, 08:42

Hi Holger,

One more question from Dev:

What is the default charset of the Oracle 12 DB instance? AL32UTF8 or others?

Best regards,

holger.mueller
Austria
Posts: 198
Joined: 28 Aug 2017, 09:36
Location: Brunn am Gebirge, Austria

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by holger.mueller » 11 Nov 2015, 09:49

Thanks Mike for your efforts.

Default database-char-set is WE8MSWIN1252.

So we'll use older sqlora32.dll (because we want to use 6.3 SP1).

Greetings

Holger

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 11 Nov 2015, 10:01

Thanks for the clarification.

Best regards,

mike_fortytwo

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by mike_fortytwo » 11 Feb 2016, 11:52

Hi Mike,

we have same problems with this bug/feature. Could you please clarify:

What will be the default combination in TD future for String/Long String vs. VARCHAR2?

The one used until TD 6.3 SP 0:

VARCHAR2(0-254) => String
VARCHAR2(254-4000) => Long String

Or the (at the moment) buggy one of the TD 6.3 SP 1:

VARCHAR2(0-2000) => String (fails with "select buffer is too small" if the length of the VARCHAR2(2000) content > 900
VARCHAR2(2001-4000) => Long String

Will the new feature of the Oracle 12c to use VARCHAR2 columns with a max size of 32676 (MAX_STRING_SIZE = EXTENDED) be supported?

Best regards,

Michael

Michael Ehehalt
Germany
Posts: 73
Joined: 13 Mar 2017, 09:17
Location: Frankfurt, Germany

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Michael Ehehalt » 17 Feb 2016, 10:18

Hi,

I've checked the fetch of varchar2 into String and Long String SQLWindows Data Types with the Team Developer 6.3 SP 1 Update 1 and was wondering about the results:
  • varchar2(254): String (success), Long String (fails)
  • varchar2(255): String (success), Long String (success)
  • varchar2(2000): String (success), Long String (success)
  • varchar2(4000): String (success), Long String (success)

Thats great, but conflicts with the documentation, where described is, that the SQLWindows Data Type String correspondents with the Oracle Data Type VARCHAR2 (254 or fewer bytes).

New TD 6.3 Version, new sizes?! So my question again: Is this a bug or a Feature? :wink:
In other words: Can we use this sizes in our applications, or get we then Errors with the next update?

Best regards

Michael Ehehalt
Best regards,
Michael Ehehalt

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 18 Feb 2016, 05:27

Hi Michael,

Can you try this with TD6.3 SP1 Update 1? It should be fixed with this version.

Best regards,

Michael Ehehalt
Germany
Posts: 73
Joined: 13 Mar 2017, 09:17
Location: Frankfurt, Germany

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Michael Ehehalt » 18 Feb 2016, 14:35

Hi Mike,

the informations are from the Team Developer 6.3 SP1 Update 1.

Here are the complete results of our analyse of the varchar2 Problem we had with Team Developer 6.3 vs. Oracle 12c ...
analyse631.png
analyse631special.PNG
analyse6311special.PNG
analyse6311.PNG
... where String and Long String are the Team Developer datatypes.

When you say "It should be fixed with this version.", then you mean, that a bugfixed version looks like the results off "TD 6.3 SP 1 with SQLORA32.DLL from TD 6.3"? Or do you mean the last one, where we could use "normal Strings" on the Team Developer vor all sizes of varchar2 fields? :D

Best regards

Michael Ehehalt
You do not have the required permissions to view the files attached to this post.
Best regards,
Michael Ehehalt

Mike Vandine

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by Mike Vandine » 22 Feb 2016, 03:32

Hi Michael,

The last one, where you can use string for all. :)

Sorry for the confusion.

mike_fortytwo

Re: TD-22531: Error fetching VARCHAR2(2000) into long string

Post by mike_fortytwo » 22 Feb 2016, 10:01

Hi Mike,

great! :D

Best regards

Michael

Return to “Bug Reports”

Who is online

Users browsing this forum: [Ccbot] and 0 guests