Oracle XE 64 位 ODBC 连接与 32 位 c# 应用程序

Oracle XE 64 Bit ODBC connection with 32 bit c# application

我使用 visual studio 2015 和 dotNet Framework 4 创建了一个 C# Windows 表单应用程序(32 位)。 我希望客户端可以使用 odbc dsn 连接他的数据库,无论它是 32 位 OS 还是 64 位 OS。 在 32 位 OS 上,它工作正常,但在 64 位 OS 上,它不工作,因为安装了 oracle XE 64 位。

更多详情 应用程序可以使用 ODBC.The 连接到任何数据源 当应用程序尝试连接安装在客户端本地系统上的 oracle XE(64 位)时出现问题,因为在 32 位的情况下一切正常。所以需要在系统上安装任何额外的东西,以便 32 位应用程序可以连接到安装在客户端机器上的 oracle XE (64)?

是的,对此您无能为力。 ODBC 驱动程序是 32 位或 64 位的,它必须与您的应用程序的体系结构(即 32 位或 64 位)相匹配。 Oracle 客户端也必须在相同的体系结构中。

我看到三个解决方案:

  • 您提供了两个版本的应用程序。一个 32 位版本和一个 64 位版本。这两个选项提供了世界上许多应用程序。

  • 使用 32 位 ODBC 驱动程序创建 32 位应用程序。这样的 32 位应用程序也可以在 64 位 Windows 上正常工作,没有任何问题。 64 位 Windows 支持 32 位和 64 位应用程序。

  • 使用ODP.NET Managed Driver。这适用于 32 位和 64 位。但是,它不使用 ODBC DSN

如果您喜欢独立,可以在一台机器上同时安装 32 位和 64 位 Oracle 客户端。关注 this instruction