我的c#4.0 .netframework应用程序需要支持从9i版本到12c的oracle数据库连接。我打算使用OraOledb.Oracle提供程序并使用system.data.oledb连接与oracle建立连接。该应用程序仅限于从视图中执行选择查询。表。我的目标是使用单个exe来处理不同oracle数据库的需求。我对某些事情有些怀疑,并希望在开始之前清除它们
如果我使用oledbconnection和oraOledb提供商,我的c#应用程序会有一些限制吗?
它是否支持客户端位置安装的所有oracle客户端和数据库版本?
我的应用程序是否需要在特定平台上编译,例如x86,x64或任何cpu,以支持32位和32位64位Windows 7台电脑?
如果有更多我应该考虑的事情,请帮助我。
答案 0 :(得分:0)
我不这么认为。 OraOledb.Oracle提供程序应该能够从9i到12c连接到任何Oracle数据库。
嗯,请参阅答案1和3
主要取决于已安装的Oracle客户端的体系结构。如果您的客户端PC安装了x86(32位)Oracle客户端,则必须编译为x86
。如果是64位Oracle客户端,则必须编译为x64
。 AnyCPU
表示在64位Windows上必须安装64位Oracle客户端。还建议您的客户安装Oracle OleDB提供程序,它不是Oracle Instant Client的一部分,您必须在OUI(Oracle Universal Installer)中启用该功能或手动安装它。
你看,有很多潜在的问题。考虑使用ODP.NET Managed Driver,它可以让您的工作更轻松。只需在您的应用程序目录中提供Oracle.ManagedDataAccess.dll
的副本即可。
如果你编译到x86
或x64
或AnyCPU
也没关系。