Bug #39310 ODBC + Delphi : Session get table names raises error
Submitted: 8 Sep 2008 13:26 Modified: 28 Oct 2008 14:29
Reporter: Roberto Valente Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / ODBC Severity:S1 (Critical)
Version:5.1.5 OS:Any
Assigned to: CPU Architecture:Any
Tags: Session get table names raises error

[8 Sep 2008 13:26] Roberto Valente
Description:
When i try to retrieve the tablenames of a Database
raises an error

How to repeat:
On Delphi ( any version )
use the command
      Session.GetTableNames('DatabaseName','',false,false,Listbox.items);

Declaration:
procedure GetTableNames(const DatabaseName, Pattern: string; Extensions,
SystemTables: Boolean; List: TStrings);

Don´t ocourred in 5.1.4 version, but, 
5.1.4 version had other error:
The auto-reconnect option didn´t work.

Suggested fix:
This error already occourred in older OSBC Connexctor versions and whas fixed.
[8 Sep 2008 13:45] Tonci Grgin
Hi Roberto and thanks for your report.

Can you please clarify your claims, especially one that this error was fixed before (where, when)?

I'd like to tackle this problem a bit more even though I can set it to "Verified" right now as neither version of MyODBC lists tables in BDE CP extension...
[8 Sep 2008 13:51] Tonci Grgin
Roberto, please attach small but complete sample made in Delphi too.
[11 Sep 2008 13:16] Roberto Valente
Delphi project using MyODBC ( GetTableNames )

Attachment: TestODBC515.zip (application/x-zip-compressed, text), 5.51 KiB.

[11 Sep 2008 13:20] Roberto Valente
Tonci Grgin

Add to this bug report a file named TestODBC515.zip

There is a readme.txt file that contains some
information about the simple delphi project

If a can help somehow, tell me

Thanks

  Roberto
[13 Sep 2008 15:24] Tonci Grgin
Roberto, all works here...

Now, I do not wish to close the report just now. Let's see where the problem is.
I am using:
  o) MySQL server 5.0.68 on Win XPPro SP2 localhost
  o) IDAPI libraries are 5.2.0.2
  o) MyODBC 3.51.26 & 5.1.05
  o) CodeGear™ Delphi® 2007 for Win32®

Both system DSN's use same set of options:
  o) Return matching rows, Allow big results, Change BigInt to Int, Enable AI NULL search, Always handle binary function ...(3.51 only), Don't prompt upon connect, Don't cache result, Force use of Forward-only cursors, Limit column size to signed32 bit range and Return table names for SQLDecribeColumn 

Now, examine your DSN options and, if you don't find the way to configure them, start ODBC tracing (see our manual on how to do that) just before you hit "Show tables" button. Attach trace here.
[13 Sep 2008 15:25] Tonci Grgin
This will be hard to fix otherwise as I can not start your project from Delphi IDE (error c5 "Application failed to initialize")...
[15 Sep 2008 13:52] Roberto Valente
Hi

I am using:
 1) MySQL server 5.0.45 on Win 2000 server (other machine)
 2) IDAPI libraries are 5.2.0.2
 3) MyODBC 3.51.26 & 5.1.05 (later returned to 5.1.04)
 4) CodeGear™ Turbo Delphi for .NET & Delphi 3 (win32)

I Checked the same ODBC options

Im both case the result is nothing

Now i unninstalled the 5.1.5 version and installed the 5.1.4 version

The result is correct (all tables are shown)
(nothing else was done)

But 5.1.4 has another bug. Auto-reconnect option dont wor properly
(i reported that in other bug)

Hope i can help 

  Roberto
[15 Sep 2008 19:59] Tonci Grgin
Roberto, one can not fix what one can not reproduce reliably.

Lets see, if you want to get to the bottom of this do the following:
  o) Install c/ODBC 5.1.4, just before starting your test case start ODBC tracing (see manual on how to do this). Stop tracing after list is populated. Attach trace file.
  o) Uninstall c/ODBC 5.1.4, install c/ODBC 5.1.05 and repeat steps from above.

Hopefully by comparing traces we'll be able to find out what's gone wrong. So far, I must assume it's your environment as all is fine here. I do use newer Delphi (as a matter of fact, latest available) and newer MySQL server.
[16 Sep 2008 14:38] Roberto Valente
Log ODBC514

Attachment: ODBC514.zip (application/x-zip-compressed, text), 18.69 KiB.

[16 Sep 2008 14:39] Roberto Valente
Log ODBC515

Attachment: ODBC515.zip (application/x-zip-compressed, text), 18.70 KiB.

[16 Sep 2008 14:40] Roberto Valente
Log Files Added

Sugest Examdiff software to see the differences
(the is a part with somes real diferences)

Tell me if i can do anithing to trace this bug
[2 Oct 2008 9:03] Tonci Grgin
Roberto, from what I see, it appears DSN's are not pointing to same database. Are you sure DSN's are identical for both drivers?
[2 Oct 2008 11:38] Roberto Valente
ODBC 3

Attachment: ODBC3.jpg (image/jpeg, text), 68.37 KiB.

[2 Oct 2008 11:38] Roberto Valente
ODBC 5

Attachment: ODBC5.jpg (image/jpeg, text), 40.63 KiB.

[2 Oct 2008 11:39] Roberto Valente
Delphi Project using ODBC 3 and 5

Attachment: Delphi.jpg (image/jpeg, text), 62.18 KiB.

[2 Oct 2008 11:40] Roberto Valente
I Uploaded 3 images that show how the tests where done
[3 Oct 2008 7:53] Tonci Grgin
Roberto, again, "Are you sure DSN's are identical for both drivers?".

I do not need pictures, just your confirmation on options used and such.
[3 Oct 2008 16:24] Roberto Valente
Hi Tonci Grgin

I´m absolutelly sure they are point to the same database ate same IP

That´s simple to verify
Look for "Bancopop5" in log files
Both of then has this same database name (aliasname) 
that points to "hypertech" (my server name) and
"bancopop" database.

if there is any thing i can do
[27 Oct 2008 15:51] Jess Balint
Roberto,
I believe this has been fixed. Would it be possible for you to verify this with one of the snapshot builds? They are available at: http://downloads.mysql.com/snapshots.php
Thanks,
Jess
[28 Oct 2008 11:05] Roberto Valente
Jess

I clicked at 
http://downloads.mysql.com/snapshots.php

But no new snapshot is avaiable

Only older (content below)
MySQL Database Server
4.0: GA (Generally Available)

    * Older Snapshots

4.1: GA (Generally Available)

    * Older Snapshots

5.0: GA (Generally Available)

    * Older Snapshots

5.1: RC (Release Candidate)

    * Older Snapshots

What should i do ?

Thanks
[28 Oct 2008 11:19] Tonci Grgin
Scroll Roberto, scroll :-)

http://downloads.mysql.com/snapshots/mysql-connector-odbc-5.1/mysql-connector-odbc-noinsta...
[28 Oct 2008 12:19] Roberto Valente
Sorry. Haven´t seen this
(may be the page was not completly loaded)

Installed 5.1.6 version

An exeception occrours when try to connect the database
At Control Panel | ODBC
Data below
AppName: odbcad32.exe
AppVer: 3.525.1132.0
ModName: MYODBC5.DLL (date: 21/10/2008)
ModVer: 5.1.6.0
Offset: 000083d1

But, at application level, it works fine
The bug seems to be fixed

Some few tests was made with other applications 
At moment no bug was detected

Thanks

  Roberto
[28 Oct 2008 13:26] Tonci Grgin
When Jess says it's fixed you can be sure it is :-)

I do not understand this part:
An exeception occrours when try to connect the database
At Control Panel | ODBC
Data below
AppName: odbcad32.exe
AppVer: 3.525.1132.0
ModName: MYODBC5.DLL (date: 21/10/2008)
ModVer: 5.1.6.0
Offset: 000083d1

What's this about? DataSources (ODBC) control panel extension is crashing or what?
[28 Oct 2008 14:29] Jess Balint
Roberto,
The crash you are seeing is a result of bug#40316. This bug should be committed to the source tree and released in a snapshot shortly. In the meantime, I'm going to close this bug as it's fixed now. Thanks for your interest in MySQL.