Mailing List
Home
Forum Home
MySQL General - General MySQL discussion
MySQL++ - Programming with the C++ API to MySQL
MaxDB - Everything about MaxDB, formerly known as SAP DB
ODBC - ODBC with the MySQL Connector/ODBC driver
MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP
Java Help - Mostly related to the MySQL Connector/J driver
Perl - Perl support for MySQL with DBI and DBD::mysql
GUI - MySQL GUI Tools
Announcement
Subjects
Subject: mysql openssl Question
ERROR 1045: Access denied for user: 'root@localhost ' (Using
password: NO)
Update one field with more fields from another table
Subject: Getting Identity after INSERT
ERROR 2002: Can 't connect to local MySQL server through socket
mysql test 4 1 fails with the gis test
Subject: MySQL Cluster Software
Downgrade Mysql from 4 to 3 23
Mysql 4 0 Oracle Stored Procedure Trigger Conversion
Can 't access mysql after kernel upgrade
Executing MySQL Commands From Within C Program
Comparing and writing out BLOBS
Subject: Re: Preventing Duplicate Entries
FULLTEXT query format question
Strange behavior, Table Level Permission
Does the binary log enabling affect the MySQL performances?
mysql:it 's a db not a dbms how it 's possible?!
mysql have same function mthod as Oracle decode()
 
MyODBC 3.51.12 : completely unusable on Linux 64 bits (crashes, strange behavior

MyODBC 3.51.12 : completely unusable on Linux 64 bits (crashes, strange behavior

2007-02-20       - By Jean-No?l Rivasseau

 Back
Hello,

I am running Gentoo 64 bits, gcc 4.1.1, MySQL 5.0.27, unixODBC 2.2.11, and
MyODBC 3.51.12. All of these were compiled for 64 bits, using Gentoo package
manager (Portage).

MySQL (the database) works perfectly well, I am using it heavily with the
PHP driver.

However I cannot get my ODBC C++ program to work correctly.

I would like to know if it is already known that 3.51.12 is completely
unstable under linux 64, or is it just my setup?

I wanted to send a small program that exhibits the problems I am
encountering, however it was too big (46k) for the mailing list. I'd like to
send it to anyone interested though, so please contact me.
Symptoms are crashes and strange ODBC behavior. I strongly suspect that
memory corruption is going on and trashing everything.

To compile and run the program:

To compile *you will need to have Qt 4* or later installed on your box. In
the top directory, type qmake then make. You can then go to the directory
"target/" and run the program. Create a database named "Naiade", then import
the import.sql file to create the SQL tables.

If you run it without modifying the source, currently it will return strange
results but not crash (it will report an invalid handle, when the code
should be perfectly clean). It will log the behavior to a file named
"log_file" in the directory you run the program.

If you want it to crash, just uncomment the line:

   //QString statement = "SELECT id FROM class_100011_structure";

in the first few lines of the file
src/MemberFunctionSpecification_odbc_serialization.cc
and recompile.

This variable (statement) does not do anything and is not even used, but
just creating it makes the code crash. So I strongly suspect memory
corruption is happening.

Note: I also tried to use iODBC and the exact same things happen, so I feel
the culprit can only be MySQL ODBC driver...

I'd like to know if there is a stable version of MySQL ODBC for Linux 64, or
if I have to wait for the 5.0 version.

Jean-No?l Rivasseau