在我们基于 .net framework 2.0 的应用程序中,我们使用 System.Data.Oracleclient 现在迁移到 ODP.Net,项目量太大,因此我们无法一次性完成整个迁移,结果应用程序是截至目前,使用 2 个提供商 System.Data.Oracleclient 和 ODP.Net。
现在我们正在更改我们的操作系统,从 Windows xp 32 位到 Windows 7 64 位。在这样做的同时,我们观察到以下情况,
1) 使用 System.Data.Oracleclient 和 ODP.Net 10g 64 位(Oracle.DataAccess.dll 版本 2.102.2.20)在 < 1 秒内执行查询。并且在 Oracle SQL Developer v1.5 上执行相同的查询不到 1 秒。
2)但是,使用带有 ODP.Net 11g 64 位(Oracle.DataAccess.dll 版本 2.112.3.0)的 System.Data.OracleClient 执行相同的查询需要 2-3 分钟。
我们在第 2 点发现性能显着下降),我们必须在 Windows 7 64 位操作系统上使用带有 ODP.Net 11g 64 位(Oracle.DataAccess.dll 版本 2.112.3.0)的 System.Data.OracleClient,但我们无法忍受这种性能如第 2 点所述的退化,我们无法将所有使用 System.Data.OracleClient 的代码快速转换为 ODP.Net。
那么任何人都可以帮助我们,为什么我们会看到第 2 点中提到的如此显着的性能下降,以及我们如何解决这个问题。
问候桑吉布·哈乔杜里