совместимость Asp.net 4.5.2 с Oracle12c - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь выполнить запрос на выборку в Oracle 12c, используя ASP.net vb code (Framework - 4.5.2).

Требуется много времени, чтобы связать данные в datatable.

 da.Fill(ds) - fill dataset using dataadapter

Изначально это был 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"/>

1 Ответ

1 голос
/ 17 октября 2019

Вместо использования system.data.oracleclient, использование Oracle.ManagedDataAccess.Client устранило проблему производительности.

Imports Oracle.ManagedDataAccess.Client 

в коде. В ссылки добавить

Oracle.ManagedDataAccess
...