Bug #63259 Latest MyODBC releases not working with Win2000 anymore?
Submitted: 15 Nov 2011 10:18 Modified: 13 Apr 2012 4:05
Reporter: Hartmut Holzgraefe Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: C API (client library) Severity:S3 (Non-critical)
Version:MyODBC 5.1.9 / 3.51.29 OS:Windows (Windows2000 SP3)
Assigned to: CPU Architecture:Any
Tags: regression

[15 Nov 2011 10:18] Hartmut Holzgraefe
Description:
With 5.1.9 or 3.51.29 installed the following error is raised:

"Connection Failed:[IM003] Specified driver could not be loaded due to system error 127 (MySQL ODBC 5.1 Driver)." 

with "system error 127" on Windows being "The specified procedure could not be found"

Reverting to the previous 5.1.8 release fixes the problem.

See also http://forums.mysql.com/read.php?37,490628,490628#msg-490628
and http://www.sydown.net/repair-error-127-mysql-how-to-fix-error-127-mysql

How to repeat:
Try 5.1.9 or 3.51.29 on Win2K
[15 Nov 2011 12:13] Peter Laursen
Win2K is completely dead. Microsoft abandoned all support for it last summer (and 2K support sites now displays something 'not supported'. Also binaries compiled on Visual Studio 2010 do not run on 2K. 

Time to upgrade! :-)

Peter
(not a MySQL person).
[15 Nov 2011 12:18] Peter Laursen
.. but it may work if you can make it compile from source using Visual Studio 2003 or 2008.
[15 Nov 2011 14:06] Hartmut Holzgraefe
Win2K is still listed as supported platform in the manual though:

http://dev.mysql.com/doc/refman/5.5/en/connector-odbc-installation.html

 Supportet Platforms: 

  * Windows 95, 98, Me, NT, 2000, XP, 2003, Vista and 7 

and as the products and download pages don't list supported platforms
at all i'd assume that the above is still true ...
[15 Nov 2011 14:18] Peter Laursen
Haha!

1) Is it supposed to support Unicode?  Then I think we should forget Win9x/ME.
2) I think you have to go back to the Visual Studio 6 compiler to supprt NT4. I doubt even VS 2003 code will run on NT4.
3) If the compiler used is VS 2010 only XP/win2003 *both with at least Servicepack 1 installed* is required.
4) Why is Win2008 and 2008r2 not listed?

-- Peter
[15 Nov 2011 14:36] Hartmut Holzgraefe
The real fun part is that further down the list things like AmigaOS and True64 are still listed ;)

Looks as if that list didn't have a sanity check for about a decade ...
[15 Nov 2011 18:59] Peter Laursen
@Valeriy .. why is this a 'regression' ?
[16 Nov 2011 3:24] Bogdan Degtyariov
Windows 95, 98, ME and NT have to be discontinued because Connector/ODBC might have conflicts with the old ODBC driver manager built in OS.

Checking Win2000.
[16 Nov 2011 9:51] Bogdan Degtyariov
Verified with 5.1.9/3.51.29. Previous versions work well in Win2K.
This might be related to the new version of mysqlclient library used for linking the new ODBC drivers.
Before it was 5.1, now it is 5.5.
[16 Nov 2011 10:27] Bogdan Degtyariov
The DLL is not loadable:
ERROR LoadLibrary(): The specified procedure could not be found.
[16 Nov 2011 10:37] Peter Laursen
I still believe this happens because of the compiler!  
What Visual Studio version do you use for building this connector?
[16 Nov 2011 10:46] Bogdan Degtyariov
More detailed error message displayed by msvcrt

Attachment: dltest.JPG (image/jpeg, text), 19.34 KiB.

[16 Nov 2011 10:48] Bogdan Degtyariov
In other words Winsock2 library used by the new version of Connector/ODBC is not found in Win2000.
[16 Nov 2011 11:29] Vladislav Vaintroub
Take a look at the very end of getnameinfo() description

http://msdn.microsoft.com/en-us/library/windows/desktop/ms738532(v=vs.85).aspx, section "Support for getnameinfo on older versions of Windows"

This might give a hint on how one could fix the build  to support Win2000(e.g by including wspiapi.h). This used to work with VS2005, I do not know if it does still now with newer versions of the SDK, but at least MSDN still describes this method.

Verifying that Win2000 actually works could be a much greater challenge, which I personally would not even attempt - that is, I would not even attempt to support OS version abandoned by the OS vendor long time ago.
[17 Nov 2011 7:50] Bogdan Degtyariov
Thanks Wlad,

So, this is actually the libmysqlclient problem.

Any client program including mysql.exe command line ends up with the error
"The procedure entry point freeaddrinfo could not be located in the dynamic link library WS2_32.dll."
[13 Apr 2012 4:05] Bogdan Degtyariov
The final decision is made: we will not support win2k anymore.
Sorry...