Functionality added or changed:
In the MySQL Data Source Configuration dialog, an excessive number of tabs were required to navigate to selection of a database. MySQL Connector/ODBC has been changed to make the tab order more practical, thereby enabling faster configuration of a Data Source. (Bug#42905)
Bugs fixed:
An error randomly occurred on Windows 2003 Servers (German language Version) serving classic ASP scripts on IIS6 MDAC version 2.8 SP2 on Windows 2003 SP2. The application connected to MySQL Server 5.0.44-log with a charset of UTF-8 Unicode (utf8). The MySQL server was running on Gentoo Linux.
The script error occurred sporadically on the following line of code:
SET my_conn = Server.CreateObject("ADODB.Connection") my_conn.Open ConnString <- ERROR
The connection was either a DSN or the explicit connection string:
Driver={MySQL ODBC 5.1 Driver};SERVER=abc.abc.abc.abc;DATABASE=dbname;UID=uidname;PWD=pwdname;PORT=3306;OPTION=67108864;
The error occurred on connections established using either a DNS or a connection string.
When IISState and Debug Diagnostic Tool 1.0.0.152 was used to analyse the code, the following crash analysis was generated:
MYODBC5!UTF16TOUTF32+6In 4640-1242788336.dmp the assembly instruction at myodbc5!utf16toutf32+6 in C:\Programme\MySQL\Connector ODBC 5.1\myodbc5.dll from MySQL AB has caused an access violation exception (0xC0000005) when trying to read from memory location 0x194dd000 on thread 33
MySQL Connector/ODBC overwrote the query log. MySQL Connector/ODBC was changed to append the log, rather than overwrite it. (Bug#44965)
MySQL Connector/ODBC failed to build with MySQL 5.1.30 due to incorrect use of the data type
bool
. (Bug#42120)Inserting a new record using
SQLSetPos
did not correspond to the database name specified in theSELECT
statement when querying tables from databases other than the current one.SQLSetPos
attempted to do theINSERT
in the current database, but finished with aSQL_ERROR
result and “Table does not exist” message from MySQL Server. (Bug#41946)Calling
SQLDescribeCol()
with a NULL buffer and nonzero buffer length caused a crash. (Bug#41942)MySQL Connector/ODBC updated some fields with random values, rather than with
NULL
. (Bug#41256)When a column of type
DECIMAL
containingNULL
was accessed, MySQL Connector/ODBC returned a 0 rather than aNULL
. (Bug#41081)In Access 97, when linking a table containing a
LONGTEXT
orTEXT
field to a MySQL Connector/ODBC DSN, the fields were shown asTEXT(255)
in the table structure. Data was therefore truncated to 255 characters. (Bug#40932)Calling
SQLDriverConnect()
with aNULL
pointer for the output buffer caused a crash ifSQL_DRIVER_NOPROMPT
was also specified:SQLDriverConnect(dbc, NULL, "DSN=myodbc5", SQL_NTS, NULL, 0, NULL, SQL_DRIVER_NOPROMPT)
Setting the ADO
Recordset
decimal field value to 44.56 resulted in an incorrect value of 445600.0000 being stored when the record set was updated with theUpdate
method. (Bug#39961)The
SQLTablesW
API gave incorrect results. For example, table name and table type were returned asNULL
rather than as the correct values. (Bug#39957)MyODBC would crash when a character set was being used on the server that was not supported in the client, for example cp1251:
[MySQL][ODBC 5.1 Driver][mysqld-5.0.27-community-nt]Restricted data type attribute violation
The fix causes MyODBC to return an error message instead of crashing. (Bug#39831)
Binding
SQL_C_BIT
to anINTEGER
column did not work.The
sql_get_data()
function only worked correctly forBOOLEAN
columns that corresponded toSQL_C_BIT
buffers. (Bug#39644)When the
SQLTables
method was called withNULL
passed as thetablename
parameter, only one row in theresultset
, with table name ofNULL
was returned, instead of all tables for the given database. (Bug#39561)The
SQLGetInfo()
function returned 0 forSQL_CATALOG_USAGE
information. (Bug#39560)MyODBC Driver 5.1.5 was not able to connect if the connection string parameters contained spaces or tab symbols. For example, if the
SERVER
parameter was specified as “SERVER= localhost” instead of “SERVER=localhost” the following error message will be displayed:[MySQL][ODBC 5.1 Driver] Unknown MySQL server host ' localhost' (11001).
The pointer passed to the
SQLDriverConnect
method to retrieve the output connection string length was one greater than it should have been due to the inclusion of the NULL terminator. (Bug#38949)Data-at-execution parameters were not supported during positioned update. This meant updating a long text field with a cursor update would erroneously set the value to null. This would lead to the error
Column 'column_name' cannot be null
while updating the database, even whencolumn_name
had been assigned a valid nonnull string. (Bug#37649)The
SQLDriverConnect
method truncated theOutputConnectionString
parameter to 52 characters. (Bug#37278)The connection string option
Enable Auto-reconnect
did not work. When the connection failed, it could not be restored, and the errors generated were the same as if the option had not been selected. (Bug#37179)Insertion of data into a
LONGTEXT
table field did not work. If such an attempt was made the corresponding field would be found to be empty on examination, or contain random characters. (Bug#36071)No result record was returned for
SQLGetTypeInfo
for theTIMESTAMP
data type. An application would receive the resultreturn code 100 (SQL_NO_DATA_FOUND)
. (Bug#30626)It was not possible to use MySQL Connector/ODBC to connect to a server using SSL. The following error was generated:
Runtime error '-2147467259 (80004005)': [MySQL][ODBC 3.51 Driver]SSL connection error.
When the
recordSet.Update
function was called to update anadLongVarChar
field, the field was updated but the recordset was immediately lost. This happened with driver cursors, whether the cursor was opened in optimistic or pessimistic mode.When the next update was called the test code would exit with the following error:
-2147467259 : Query-based update failed because the row to update could not be found.
Microsoft Access was not able to read
BIGINT
values properly from a table with just two columns of typeBIGINT
andVARCHAR
.#DELETE
appeared instead of the correct values. (Bug#17679)