我正在尝试使用 ASP.net vb 代码(框架 - 4.5.2(在 Oracle 12c 中运行选择查询。
在数据表中绑定数据需要很长时间。
da.Fill(ds) - fill dataset using dataadapter
最初是oracle 11g,相同的代码在12C中工作正常,但在12C中则不行,性能非常慢。
以下是我们将相同的代码连接到不同的服务器以获取相同的 10 条记录所花费的时间。
- 甲骨文 11G - 5 秒
- 甲骨文 12C - 463 秒
但是,如果我直接在两个服务器(没有 .NET(中运行相同的查询:
- 甲骨文 11g - 15 秒
- 甲骨文 12C - 4 秒
在这两种情况下,这是用于获取相同的 10 条记录。
下面是使用的 .NET 代码:
VB.NET 代码:
oraConn.Open()
da.SelectCommand = myComm
da.Fill(dt)
oraConn.Close()
web.config:
<add name="OracleCon" connectionString="SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=))(CONNECT_DATA=(SERVICE_NAME=)));uid=;pwd=;" providerName="Oracle.DataAccess.Client"/>
不使用system.data.oracleclient
,使用Oracle.ManagedDataAccess.Client
修复了性能问题。
Imports Oracle.ManagedDataAccess.Client
在代码中。在引用中添加
Oracle.ManagedDataAccess