Многие из этих ответов довольно старые, поэтому я подумал, что я бы хотел обновить решение, которое я считаю полезным.
Наша проблема была похожа на OP, мы обновили 32-битные машины XP до 64-битной Windows 7, и наше прикладное программное обеспечение, использующее 32-битный драйвер ODBC, перестало иметь возможность записи в нашу базу данных.
Оказывается, есть два менеджера источника данных ODBC, один для 32-битных и один для 64-битных. Поэтому мне пришлось запустить 32-битную версию, которая находится в C: \ Windows \ SysWOW64 \ odbcad32.exe. Внутри ODBC Data Source Manager я смог перейти на вкладку System DSN и добавить свой драйвер в список с помощью кнопки Добавить. (Вы можете проверить вкладку «Драйверы», чтобы увидеть список драйверов, которые вы можете добавить, если вашего драйвера нет в этом списке, возможно, вам придется установить его).
Следующей проблемой было программное обеспечение, которое мы запустили, было скомпилировано для использования «Любой процессор». Это будет означать, что операционная система будет 64-битной, поэтому она будет смотреть на 64-битные источники данных ODBC. Поэтому мне пришлось принудительно скомпилировать программу как программу x86, которая затем советует ему взглянуть на 32-битные источники данных ODBC. Чтобы установить для вашей программы x86, в Visual Studio перейдите в свойства своего проекта и на вкладке сборки вверху есть раскрывающийся список платформы и выберите x86. Если у вас нет исходного кода и вы не можете скомпилировать программу как x86, вы можете щелкнуть правой кнопкой мыши программу .exe и перейти на вкладку совместимости и выбрать совместимость, которая подходит вам.
После добавления драйверов и программы, указывающей на нужные драйверы, все работало так, как раньше. Надеюсь, это поможет всем, кто работает со старым программным обеспечением.