Asp.net 4.5.2 与 Oracle 12c 之间的兼容性
compatiblity between Asp.net 4.5.2 with Oracle12c
我正在尝试使用 ASP.net vb 代码(框架 - 4.5.2)在 Oracle 12c 中 运行 select 查询。
在数据表中绑定数据需要很长时间。
da.Fill(ds) - fill dataset using dataadapter
最初是 oracle 11g,同样的代码在 oracle 11g 中可以正常工作,但在 12C 中却不行,性能很慢。
下面是我们将相同的代码连接到不同的服务器以获取相同的 10 条记录所花费的时间。
- Oracle 11G - 5 秒
- Oracle 12C - 463 秒
但是如果我 运行 直接在两个服务器中进行相同的查询(没有 .NET):
- Oracle 11g - 15 秒
- Oracle 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
我正在尝试使用 ASP.net vb 代码(框架 - 4.5.2)在 Oracle 12c 中 运行 select 查询。
在数据表中绑定数据需要很长时间。
da.Fill(ds) - fill dataset using dataadapter
最初是 oracle 11g,同样的代码在 oracle 11g 中可以正常工作,但在 12C 中却不行,性能很慢。
下面是我们将相同的代码连接到不同的服务器以获取相同的 10 条记录所花费的时间。
- Oracle 11G - 5 秒
- Oracle 12C - 463 秒
但是如果我 运行 直接在两个服务器中进行相同的查询(没有 .NET):
- Oracle 11g - 15 秒
- Oracle 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