Tuesday, January 15, 2019

ODBC Driver Not Working on a User Machine

When trying to run the ODBC NetSuite Datasource the user encounter an architecture mismatch error. One of these errors may be something like:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application




Short Answer:

Use the 32-bit ODBC Driver to get over the issue. Regardless of whatever architecture your machine or operating system is, the NetSuite 32-bit ODBC Driver will work.


Long Answer:

Background:

Modern Computer Systems work on a computer architecture where you have 32-bit or 64-bit computing for the processors. In the 64-bit architecture you use an instruction set of 64 bits at a time, meaning the data can be processed in a larger chunk than a 32-bit machine. There are other benefits as well.

Moving a level up from the CPU, the next level is your Operating System. Even if your computer hardware is 64-bit, you can still use a 32-bit Operating System on it.

Moving further up a level, you have the Application (softwares you use). They also come in 32-bit and 64-bit flavours.

64-bit Systems are backward-compatible with 32-bit Systems.


Components and Levels:

Core: Processor
Level Higher: Operating System
Level Higher: Application

To run a 64-bit Operating System, you need support (architecture match) from the lower level (CPU)
To run a 64-bit Application, you need support from the 2 lower levels (Operating System > CPU)


Top layer should be compatible with the bottom layers to function properly






To have ODBC driver compatible with everything, an ideal approach will be to use 32-bit ODBC driver because regardless of whatever the architecture the CPU or OS is, since your Application is 32-bit it will be compatible with the 32-bit or 64-bit OS or CPU.

An "Architecture Mismatch" error would occur if any of the top layers are not compatible with the bottom layers, for example: using a 64-bit ODBC driver (Application) on a 32-bit Operating System.

No comments:

Post a Comment