Re: ext/odbc no longer builds under VC6
[email protected] ("Steph Fox")
| Newsgroups | php.internals.win |
|---|---|
| Message-ID | <00cf01c95e16$e86563a0$3ffc1f3e@foxbox> |
OK, going back to the public list. > First of all, my patches have been tested to work on VC6 (both 32 and > 64bit) before i released it to the PHP public. Right. Support for 64-bit ODBC came with Windows Server 2003 (see http://msdn.microsoft.com/en-us/library/ms716287(VS.85).aspx). Presumably that means we lose support for earlier versions if we move to this API? What about Windows 2000 Server, where do we stand with support for that these days? (NB we only dropped support for Windows 98 two years ago.) > Secondly, to my knowledge, the header files and libraries for developing > ODBC enabled applications on Windows is not part of the compiler itself > but of either the Platform SDK or the MDAC package installed. I believe the odbc stuff was shipped with the compiler, but... whatever. > Thirdly, the version of the ODBC API (3.51) that i uses as a base for > these patches has been around for some 5 years, and is available on all > modern platforms including Windows, Unix, Linux and Mac OS X. Version 3.51 is available in the version of MSVC++ 6.0 I have installed. It doesn't define SQLLEN or SQLULEN. The extension redefines the version to 2.50 in two places, but out-commenting those lines makes no difference because the actual definitions are missing from the header. (I've out-commented them here anyway for now.) > I am guessing you are using a very old version of either of these > packages on your machine. Or you may have still a very old sql.h or > sqltype.h file installed somewhere in front of your include path. Or as a > last option, you may have defined ODBCVER to 0x0250 or 0x0300 before > including the sql.h file maybe in your VC project file. I find it difficult to believe they upgraded the API without bumping the version number. Can you confirm that you're using 3.51 and not, say, 3.52? > However i would like to make clear that without using this ODBC 3.51 API, > it will be impossible for PHP to move into the 64bit windows realms > without loosing major data connectivity. No, it's the Windows Server 2003 stuff we need. Which rather begs the question, why didn't the 2003 SDK upgrade include this update? I have this working here with: #ifndef SQLLEN #define SQLLEN SQLINTEGER #define SQLULEN SQLUINTEGER #endif It's not clear to me which MDAC package I should be downloading to get SQLLEN defined in the headers/libs. Do you know which you're using? - Steph