Oracle XE 64-битное соединение ODBC с 32-битным приложением c # - PullRequest
0 голосов
/ 11 ноября 2018

Я создал C # Windows Form Application (32Bit), используя Visual Studio 2015 и dotNet Framework 4. Я хочу, чтобы клиент мог подключиться к своей базе данных, используя odbc dsn, будь то 32-битная ОС или 64-битная ОС. в 32-битной ОС он работает нормально, но в 64-битной ОС он не работает, поскольку установлен 64-битный Oracle XE.

Подробнее Приложение может подключаться к любому источнику данных с использованием ODBC. Проблема возникает, когда приложение пытается подключиться к oracle XE (64bit), установленному в локальной системе клиента, потому что в случае 32-разрядной системы все работает нормально. Таким образом, в системе необходимо установить что-то дополнительное, чтобы 32-разрядное приложение могло подключаться к oracle XE (64), установленному на клиентском компьютере?

1 Ответ

0 голосов
/ 11 ноября 2018

Да, вы ничего не можете с этим поделать. Драйвер ODBC является либо 32-разрядным, либо 64-разрядным, и он должен соответствовать архитектуре (то есть 32-разрядной или 64-разрядной) вашего приложения. Клиент Oracle также должен быть в той же архитектуре.

Я вижу три решения:

  • Вы предоставляете две версии вашего приложения. Одна 32-битная версия и одна 64-битная версия. Многие приложения по всему миру предоставляются в этих двух вариантах.

  • Создание 32-разрядного приложения с 32-разрядным драйвером ODBC. Такое 32-битное приложение работает без проблем и на 64-битной Windows. 64-разрядная версия Windows поддерживает 32-разрядные и 64-разрядные приложения.

  • Используйте Управляемый драйвер ODP.NET . Это работает как для 32-битных, так и для 64-битных. Тем не менее, он не использует ODBC DSN

Если вы хотите быть независимым, вы можете установить как Клиенты Oracle, так и 32-битные и 64-битные на одной машине. Следуйте этой инструкции .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...