Bug #7802 Latest version (MyODBC-3.51.10-2-win.exe) not working
Submitted: 11 Jan 2005 13:37 Modified: 11 Feb 2005 19:28
Reporter: Anthony de Waal Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / ODBC Severity:S3 (Non-critical)
Version:MyODBC-3.51.10-2-win.exe OS:Windows (Windows 2000 Pro/Server)
Assigned to: Peter Harvey CPU Architecture:Any

[11 Jan 2005 13:37] Anthony de Waal
Description:
The ODBC connection to a remote database 4.1.8 under Linux was working perfectly with the version installed from the Windows executables in MyODBC-3.51.10-x86-win-32bit.exe.
When the driver is updated to MyODBC-3.51.10-2-win.exe, leaving everything else the same, the application we use is no longer able to connect.
When the connection is tested with the test button in the odbc manager, it passes.  The tracelog shows: 
Logitime5       3e0-5c8	EXIT  SQLDriverConnectW  with return code -1 (SQL_ERROR)
		HDBC                03291690
		HWND                00000000
		WCHAR *             0x1F7A9D2C [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x1F7A9D2C 
		SWORD                        2 
		SWORD *             0x00000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>

		DIAG [S1T00] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'localhost' (10061) (2003) 

Note the "localhost", the server is remote. I entered an IP number, nameresolution is not an issue.

How to repeat:
We use VB 6 code with ADO recordsets under Windows 2000 Pro sp4, English. 
The same happened with Windows 2000 Server sp4, English. 
This was reproducable on our machines.
[11 Jan 2005 13:42] Anthony de Waal
trace file

Attachment: trace-SQL.zip (application/x-zip-compressed, text), 11.44 KiB.

[16 Jan 2005 2:36] Alex Schiessl
same problem 4 me!

-----------------
Trace from ODBC Admin:

odbcad32        22c-210	ENTER SQLAllocHandle 
		SQLSMALLINT                  1 <SQL_HANDLE_ENV>
		SQLHANDLE           00000000
		SQLHANDLE *         0006DEC4

odbcad32        22c-210	EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  1 <SQL_HANDLE_ENV>
		SQLHANDLE           00000000
		SQLHANDLE *         0x0006DEC4 ( 0x00881540)

odbcad32        22c-210	ENTER SQLSetEnvAttr 
		SQLHENV             00881540
		SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
		SQLPOINTER          0x00000003
		SQLINTEGER                   0 

odbcad32        22c-210	EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
		SQLHENV             00881540
		SQLINTEGER                 200 <SQL_ATTR_ODBC_VERSION>
		SQLPOINTER          0x00000003 (BADMEM)
		SQLINTEGER                   0 

odbcad32        22c-210	ENTER SQLAllocHandle 
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           00881540
		SQLHANDLE *         0006DEC8

odbcad32        22c-210	EXIT  SQLAllocHandle  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           00881540
		SQLHANDLE *         0x0006DEC8 ( 0x008815e8)

odbcad32        22c-210	ENTER SQLDriverConnectW 
		HDBC                008815E8
		HWND                00000000
		WCHAR *             0x00847310 [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x00847310 
		SWORD                        8 
		SWORD *             0x00000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>

odbcad32        22c-210	EXIT  SQLDriverConnectW  with return code 0 (SQL_SUCCESS)
		HDBC                008815E8
		HWND                00000000
		WCHAR *             0x00847310 [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x00847310 
		SWORD                        8 
		SWORD *             0x00000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>

odbcad32        22c-210	ENTER SQLDisconnect 
		HDBC                008815E8

odbcad32        22c-210	EXIT  SQLDisconnect  with return code 0 (SQL_SUCCESS)
		HDBC                008815E8

odbcad32        22c-210	ENTER SQLFreeHandle 
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           008815E8

odbcad32        22c-210	EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           008815E8

odbcad32        22c-210	ENTER SQLFreeHandle 
		SQLSMALLINT                  1 <SQL_HANDLE_ENV>
		SQLHANDLE           00881540

odbcad32        22c-210	EXIT  SQLFreeHandle  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  1 <SQL_HANDLE_ENV>
		SQLHANDLE           00881540

---------------
Trace from test script:

cscript test    3a4-398	ENTER SQLAllocEnv 
		HENV *              1F6CCBF0

cscript test    3a4-398	EXIT  SQLAllocEnv  with return code 0 (SQL_SUCCESS)
		HENV *              0x1F6CCBF0 ( 0x01751540)

cscript test    3a4-398	ENTER SQLGetEnvAttr 
		SQLHENV             01751540
		SQLINTEGER                 201 <unknown>
		SQLPOINTER          [Unknown attribute 201]
		SQLINTEGER                   4 
		SQLINTEGER *        0x0012D864

cscript test    3a4-398	EXIT  SQLGetEnvAttr  with return code 0 (SQL_SUCCESS)
		SQLHENV             01751540
		SQLINTEGER                 201 <unknown>
		SQLPOINTER          [Unknown attribute 201]
		SQLINTEGER                   4 
		SQLINTEGER *        0x0012D864 (1390992)

cscript test    3a4-398	ENTER SQLAllocEnv 
		HENV *              1F6CCBF4

cscript test    3a4-398	EXIT  SQLAllocEnv  with return code 0 (SQL_SUCCESS)
		HENV *              0x1F6CCBF4 ( 0x017515e8)

cscript test    3a4-398	ENTER SQLSetEnvAttr 
		SQLHENV             017515E8
		SQLINTEGER                 201 <unknown>
		SQLPOINTER          [Unknown attribute 201]
		SQLINTEGER                  -6 

cscript test    3a4-398	EXIT  SQLSetEnvAttr  with return code 0 (SQL_SUCCESS)
		SQLHENV             017515E8
		SQLINTEGER                 201 <unknown>
		SQLPOINTER          [Unknown attribute 201]
		SQLINTEGER                  -6 

cscript test    3a4-398	ENTER SQLAllocConnect 
		HENV                017515E8
		HDBC *              0012E428

cscript test    3a4-398	EXIT  SQLAllocConnect  with return code 0 (SQL_SUCCESS)
		HENV                017515E8
		HDBC *              0x0012E428 ( 0x01751690)

cscript test    3a4-398	ENTER SQLGetInfoW 
		HDBC                01751690
		UWORD                       10 <SQL_ODBC_VER>
		PTR                 0x0012E3F8 
		SWORD                       22 
		SWORD *             0x00000000

cscript test    3a4-398	EXIT  SQLGetInfoW  with return code 0 (SQL_SUCCESS)
		HDBC                01751690
		UWORD                       10 <SQL_ODBC_VER>
		PTR                 0x0012E3F8 
		SWORD                       22 
		SWORD *             0x00000000

cscript test    3a4-398	ENTER SQLSetConnectAttrW 
		SQLHDBC             01751690
		SQLINTEGER                 103 <SQL_ATTR_LOGIN_TIMEOUT>
		SQLPOINTER          0x0000000F
		SQLINTEGER                  -6 

cscript test    3a4-398	EXIT  SQLSetConnectAttrW  with return code 0 (SQL_SUCCESS)
		SQLHDBC             01751690
		SQLINTEGER                 103 <SQL_ATTR_LOGIN_TIMEOUT>
		SQLPOINTER          0x0000000F (BADMEM)
		SQLINTEGER                  -6 

cscript test    3a4-398	ENTER SQLDriverConnectW 
		HDBC                01751690
		HWND                00000000
		WCHAR *             0x01717310 [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x01717310 
		SWORD                        8 
		SWORD *             0x00000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>

cscript test    3a4-398	EXIT  SQLDriverConnectW  with return code -1 (SQL_ERROR)
		HDBC                01751690
		HWND                00000000
		WCHAR *             0x01717310 [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x01717310 
		SWORD                        8 
		SWORD *             0x00000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>

		DIAG [S1T00] [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on 'localhost' (10061) (2003) 

cscript test    3a4-398	ENTER SQLGetDiagRecW 
		SQLSMALLINT                  2 
		SQLHANDLE           01751690
		SQLSMALLINT                  1 
		SQLWCHAR *          0x0012E370 (NYI) 
 		SQLINTEGER *        0x0012E394
		SQLWCHAR *          0x0012DF70 (NYI) 
 		SQLSMALLINT                512 
		SQLSMALLINT *       0x0012E398

cscript test    3a4-398	EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  2 
		SQLHANDLE           01751690
		SQLSMALLINT                  1 
		SQLWCHAR *          0x0012E370 (NYI) 
 		SQLINTEGER *        0x0012E394 (2003)
		SQLWCHAR *          0x0012DF70 (NYI) 
 		SQLSMALLINT                512 
		SQLSMALLINT *       0x0012E398 (77)

cscript test    3a4-398	ENTER SQLGetDiagRecW 
		SQLSMALLINT                  2 
		SQLHANDLE           01751690
		SQLSMALLINT                  2 
		SQLWCHAR *          0x0012E370 (NYI) 
 		SQLINTEGER *        0x0012E394
		SQLWCHAR *          0x0012DF70 (NYI) 
 		SQLSMALLINT                512 
		SQLSMALLINT *       0x0012E398

cscript test    3a4-398	EXIT  SQLGetDiagRecW  with return code 100 (SQL_NO_DATA_FOUND)
		SQLSMALLINT                  2 
		SQLHANDLE           01751690
		SQLSMALLINT                  2 
		SQLWCHAR *          0x0012E370 (NYI) 
 		SQLINTEGER *        0x0012E394
		SQLWCHAR *          0x0012DF70 (NYI) 
 		SQLSMALLINT                512 
		SQLSMALLINT *       0x0012E398

cscript test    3a4-398	ENTER SQLFreeConnect 
		HDBC                01751690

cscript test    3a4-398	EXIT  SQLFreeConnect  with return code 0 (SQL_SUCCESS)
		HDBC                01751690

---------
Test Script test.vbs

Set MyConn = WScript.CreateObject("ADODB.Connection")
MyConn.Open "DSN=dbJail"

-----
Config:

WinXP Pro SP2
MySQL Server 4.0.23 & 4.1.8
MyODBC 3.51.10-2-win
[11 Feb 2005 19:22] Peter Harvey
Using 3.51.11 should solve this problem.
Support - please consider closing.