MATLAB: What’s the status of 64-bit MATLAB support for ODBC

32-bit64-bitdatabaseDatabase ToolboxjdbcMATLABodbc

Hi! I'm trying to get more information to answer my boss' question: "why are we still compiling in 32-bit MATLAB?" I knew it was due to problems with 64-bit MATLAB's support of ODBC (I know, it's really MicroSoft's fault), but I was/am vague on the details. I searched the MathWorks site for "64-bit ODBC" and "64-bit ODBC MicroSoft" and got lots of hits–nothing I clicked on, however, was dated 2012 or later–all essentially asking 'why does my DB code not work in 64-bit MATLAB' with the responses all being variations on 'MicroSoft f#$%ed-up the ODBC API for their 64-bit DB apps; workarounds are: A) revert back to 32-bit Matlab, or B) switch your Matlab apps to JDBC.' But those responses were meager on the details and thus, taken together, rather confusing (or at least not elucidating); I'm hoping someone can provide a clear, succinct explanation of the issues involved and the status quo. Thanks!

Best Answer

Hi,
please note that this is not a MATLAB limitation. An ODBC drive is a DLL (so a native library) which needs to get loaded into the process and a 64bit application cannot laod a 32bit DLL.
You could upgrade to a 64bit ODBC driver and use
database.ODBCConnection
to connect to your database using a 64bit ODBC driver. This function was introduced in R2013b.