Хорошо, вот в чем дело: у меня есть приложение C # / .NET для доступа к базе данных Oracle 8, которое хорошо работает на наших 32-битных компьютерах. Он работает с использованием клиента ODBC v.8, клиента 9i или клиента XE 10g. Тем не менее, кажется, что ничего не работает на машине с 64-битным Windows. Я успешно установил 64-битный клиент 11g, но обнаружил, что он отказывается общаться с базой данных v8, поэтому я думаю, что мне нужен 64-битный клиент 10g, 9i или 8i. Я попробовал 9i и 10g XE без удачи. Я еще не пробовал полный 10g клиент.
Я установил MDAC 2.8, но в инструментах администратора -> инструмент диспетчера источников данных ODBC ни один из этих драйверов ODBC не появился, предположительно, потому что они не 64-разрядные. Появляется только MS SQL.
Странно то, что есть старая программа Impromptu от Cognos, которая прекрасно работает - кажется, она вполне может найти и использовать 32-битный клиент v8, который установлен в системе, но мое приложение не может.
Я обнаружил, что могу видеть и создавать / редактировать источники данных ODBC, создав копию ярлыка инструмента источника данных ODBC, изменив его так, чтобы он указывал на другой путь (замените system32 на SYSWOW64), но источники данных, которые я там создаю, как-то скрыто от моего приложения. Можно ли указать мое приложение .NET на конкретный источник данных, например, путем создания DSN-файла и указания полного локального пути, например?
Это сводит меня с ума. Помогите!