• Topic
  • Discussion
  • UdaWikiWeb.Win32vs64OdbcAdmin(Last) -- DAVWikiAdmin? , 2018-12-28 13:15:53 Edit WebDAV System Administrator 2018-12-28 13:15:53

    Using ODBC (32-bit and 64-bit) on 64-bit Windows

    64-bit Windows has some surprising and counterintuitive setup and behavior around 32-bit and 64-bit ODBC. Many 64-bit environments still support 32-bit applications, and these require 32-bit ODBC drivers and DSNs, so it's important to understand how this all works.

    Both the 32-bit and 64-bit ODBC Administrator are named odbcad32.exe. They are differentiated by their filesystem location.

    The 32-bit ODBC Administrator is found at %systemdrive%/Windows/SysWoW64/odbcad32.exe. This controls 32-bit ODBC drivers, which are required by 32-bit client applications. (The 32-bit ODBC Administrator cannot be accessed through the Control Panels interface; the Data Sources (ODBC) control panel is the 64-bit ODBC Administrator.)

    Counterintuitively, the 64-bit ODBC Administrator is found at %systemdrive%/Windows/System32/odbcad32.exe. This controls 64-bit ODBC drivers, which are required by 64-bit client applications. (The 64-bit ODBC Administrator can also be accessed through the Control Panels interface, as the Data Sources (ODBC) control panel.)

    Typical Paths to ODBC Administrators

    64-bit Windows 32-bit Windows
    64-bit Administrator C:\Windows\System32\odbcad32.exe
    or
    Start -> Control Panels -> Data Sources (ODBC)
    n/a
    32-bit Administrator C:\Windows\SysWoW64\odbcad32.exe
    not a control panel
    C:\Windows\System32\odbcad32.exe
    or
    Start -> Control Panels -> Data Sources (ODBC)


    Note that the 32-bit Administrator, and all 32-bit ODBC applications (typically installed to %systemdrive%/Program Files (x86)/), will list 64-bit User DSNs (that is, DSNs based on 64-bit ODBC drivers) -- even though these DSNs and drivers cannot be used by the 32-bit tools/applications.

    Likewise, the 64-bit Administrator, and all 64-bit ODBC applications (typically installed to %systemdrive%/Program Files/), will list 32-bit User DSNs (that is, DSNs based on 32-bit ODBC drivers) -- even though these DSNs and drivers cannot be used by the 64-bit tools/applications.

    System DSNs will only be seen by the applications and tools which can use them -- 32-bit DSNs for 32-bit applications, and 64-bit DSNs for 64-bit applications. For this reason among others, we strongly advise using only System DSNs in 64-bit environments.

    It can be tempting -- and in some ways useful -- to use identical names for 32-bit and 64-bit DSNs. This is fine -- but you then need to be very careful to keep the 32-bit and 64-bit DSN configurations in sync, as different output resulting from different configurations can lead to undesired and unexpected results in the end, especially in scenarios where tools invisibly mix 32-bit and 64-bit components (as some versions of Microsoft SQL Server and Visual Studio are known to do).

    Related


    Referenced by...