我使用Visual Studio 2015和dotNet Framework 4创建了一个C#Windows Form Application(32Bit)。 我希望该客户端可以使用odbc dsn来连接其数据库,无论它是32位操作系统还是64位操作系统。 在32位OS上,它可以正常工作,但在64位OS上,则不能工作,因为已安装了oracle XE 64位。
更多详细信息 应用程序可以使用ODBC连接到任何数据源。当应用程序尝试连接安装在客户端本地系统上的oracle XE(64位)时,问题就来了,因为在32位的情况下,一切正常。因此,系统上还需要安装其他任何东西,以便32位应用程序可以连接到客户端计算机上安装的oracle XE(64)吗?
答案 0 :(得分:0)
是的,您对此无能为力。 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 Client。遵循this instruction。