Chris Miller
Programmer
I wondered about the latest posts about MySQL driver problems, and I'm not sure if I'm even on the right track.
It's awkjward the MySQL driver version 8.0.33 works and 8.0.35 does not. One hint is that there's a gap, no version 8.0.34 wsa released, see and specifically
The release notes of the first non workingdriver 8.0.35 are only describing the bug fixes, not a drastic change that would render the driver incompatible, the missing 8.0.34 driver could point out a core problem with it due to such a milestone change, despite that usueally being worth to make it the first 8.1 driver.
There is one change that could exclude VFP from being able to use an ODBC driver, and now I'm getting to my question: There could have been a change from compliance with the ODBC 3.5 specification to the 4.0 specification, that is the version of the specification of ODBC itself. See Wikipedia, for example: [URL unfurl="true"]https://en.wikipedia.org/wiki/Open_Database_Connectivity#ODBC_specifications[22][/url]
ODBC 4.0 specifications of MS are at
As said, I'm not even sure if I'm on the right track, the track being this ODBC specification. If it changed from MySQL ODBC driver version 8.0.33 to 8.0.35 Oracle did a major change without any announcement of it.
The questions that poses to me are:
1. (obviously) Is that the change that makes later MySQL ODBC drivers imposssible to use with VFP?
2. Which ODBC specification is VFP capable to support?
3. How can you find out which specification an ODBC driver is compliant with?
The repository about the latest 4.0 specification is not helpful, I think.
There is a starting point with reference on ODBC driver Another one is at and then from there the intersting point is Apüplication/Driver compatibility:
All these topics are located within the SQL Server documentation, I wonder whether they refelct general ODBC reference/documentation/specification and not only regarding SQL Server.
I don't only hope to find out why VFP can't use newer MySQL drivers, the issue could extend to any ODBC drivers, once a specification becomes the norm, which VFP does not support. A target and I think a bigger task would be to replace the ODBC layer of the VFP language and reimplement communication with ODBC drivers by usage of the API reference and replacing all SQL Passtruough functions with a 4.0 specification compliant variation of them, ie. starting at SQLConnect/SQLStringConnect making a connection in concordance with the 4,0 specifications. Maybe that would already be sufficient to make use of all further SQL Passtrough functios like SQLExec without needing to reimplement all of them.
All that said, it's not even clear whehter that's the problem and I still think it's very unlikely the MySQL driver series made such a leap from ODBC 3.5/3.8/whatever to 4.0 or any other leap of version that causes VFP to become incapable of using the driver. There's also lots of downward compatibility options that could allow usage of 4.0 drivers for an application (or runtime like the VFP9r.dll) only capable of a 3.x specification. One thing is clear cut from the age of VFPs runtime: ODBC 4.0 was intrduced 2017, VFP9 is from 2005/6, there's no chance VFP is compliant with the ODBC 4.0 specification, so that's a clear hurdle of VFP using most recent drivers that comply with a standard introduced 7 years ago and it makes it more and more probable of VFP being excluded from the ODBC interface to other RDBMS in need of some middleware that could bridge that gap.
Chriss
It's awkjward the MySQL driver version 8.0.33 works and 8.0.35 does not. One hint is that there's a gap, no version 8.0.34 wsa released, see and specifically
MySQL said:There was not a MySQL Connector/ODBC 8.0.34 release.
The release notes of the first non workingdriver 8.0.35 are only describing the bug fixes, not a drastic change that would render the driver incompatible, the missing 8.0.34 driver could point out a core problem with it due to such a milestone change, despite that usueally being worth to make it the first 8.1 driver.
There is one change that could exclude VFP from being able to use an ODBC driver, and now I'm getting to my question: There could have been a change from compliance with the ODBC 3.5 specification to the 4.0 specification, that is the version of the specification of ODBC itself. See Wikipedia, for example: [URL unfurl="true"]https://en.wikipedia.org/wiki/Open_Database_Connectivity#ODBC_specifications[22][/url]
ODBC 4.0 specifications of MS are at
As said, I'm not even sure if I'm on the right track, the track being this ODBC specification. If it changed from MySQL ODBC driver version 8.0.33 to 8.0.35 Oracle did a major change without any announcement of it.
The questions that poses to me are:
1. (obviously) Is that the change that makes later MySQL ODBC drivers imposssible to use with VFP?
2. Which ODBC specification is VFP capable to support?
3. How can you find out which specification an ODBC driver is compliant with?
The repository about the latest 4.0 specification is not helpful, I think.
There is a starting point with reference on ODBC driver Another one is at and then from there the intersting point is Apüplication/Driver compatibility:
All these topics are located within the SQL Server documentation, I wonder whether they refelct general ODBC reference/documentation/specification and not only regarding SQL Server.
I don't only hope to find out why VFP can't use newer MySQL drivers, the issue could extend to any ODBC drivers, once a specification becomes the norm, which VFP does not support. A target and I think a bigger task would be to replace the ODBC layer of the VFP language and reimplement communication with ODBC drivers by usage of the API reference and replacing all SQL Passtruough functions with a 4.0 specification compliant variation of them, ie. starting at SQLConnect/SQLStringConnect making a connection in concordance with the 4,0 specifications. Maybe that would already be sufficient to make use of all further SQL Passtrough functios like SQLExec without needing to reimplement all of them.
All that said, it's not even clear whehter that's the problem and I still think it's very unlikely the MySQL driver series made such a leap from ODBC 3.5/3.8/whatever to 4.0 or any other leap of version that causes VFP to become incapable of using the driver. There's also lots of downward compatibility options that could allow usage of 4.0 drivers for an application (or runtime like the VFP9r.dll) only capable of a 3.x specification. One thing is clear cut from the age of VFPs runtime: ODBC 4.0 was intrduced 2017, VFP9 is from 2005/6, there's no chance VFP is compliant with the ODBC 4.0 specification, so that's a clear hurdle of VFP using most recent drivers that comply with a standard introduced 7 years ago and it makes it more and more probable of VFP being excluded from the ODBC interface to other RDBMS in need of some middleware that could bridge that gap.
Chriss