ODP.net закрывается касательно курсора, когда соединение закрывается?

MROUND - это формула ячейки, а не функция VBA. Вы можете получить к нему доступ из VBA, используя WorksheetFunction.MRound

5
задан Dave Baghdanov 11 December 2008 в 17:20
поделиться

2 ответа

ODP.NET требует, чтобы Вы очистили вещи. Так Вы:

  • должны расположить экземпляры OracleParameter, поскольку они содержат неуправляемые ресурсы (!), и Odp.net не делает этого
  • должны расположить объекты OracleCommand, поскольку они также содержат неуправляемые ресурсы, и закрытие соединения не закрывает их
  • открытые курсоры не могут жить без открытого соединения, хотя в odp.net ничто не очищено после того, как соединение закрывается (или расположен), таким образом, необходимо очистить их также (и перед завершениями соединения, конечно).

I.o.w.: очистите то, что Вы создаете.

Это может быть OracleDataAdapter, уже делает это для Вас, но это неясно (и в документах odp.net не говорится это, таким образом, необходимо проверить (нечитабельный) код с отражателем для проверки. Хотя эмпирическое правило с odp.net: для предотвращения утечек памяти всегда звоните, располагают, на всем в порядке: параметр, курсор, команда, транзакция, соединение.

9
ответ дан 14 December 2019 в 01:19
поделиться

Я не уверен, споткнулись ли Вы на эту статью, и она не применяется непосредственно к Вашему вопросу, но она иллюстрирует что-то, что я изучил при работе с ODP.Net: когда в сомнении, всегда близком (соединения) и, располагают. Каждый метод я пишу, что использует экземпляр соединений ODP, команд и/или курсоров, имеет наконец пункт, располагающий все.

0
ответ дан 14 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: