Wie Sie richtig schließen ODP.net Verbindung : dispose () - oder close()?

dies ist mein powershell-code :

[void][System.Reflection.Assembly]::LoadFile("C:\DLL\Oracle.ManagedDataAccess.dll")
$OracleConnexion = New-Object Oracle.ManagedDataAccess.Client.OracleConnection('User Id=test;Password="test";Data Source=10.2.2.1/TEST')
$TimeOut = 60

$OracleConnexion.Open()

$Query=$OracleConnexion.CreateCommand()
$Query.CommandText="Select * FROM TEST"
$Query.CommandTimeout = $Timeout

$ExecuteRequete=$Requete.ExecuteReader()

while ($ExecuteRequete.Read()) {

    $SiebelLastRecord += $ExecuteRequete.GetDateTime(0).ToString()

} 

$OracleConnexion.Close()

So, ich bin öffnung ODP.NET Verbindung mit $OracleConnexion.open() dann schließen Sie es mit $OracleConnexion.close() ist es ausreichend, richtig zu schließen meine Verbindung zur Oracle-Datenbank? Oder sollte ich $OracleConnexion.Dispose() ?

Führe ich mein powershell alle 5min über den Task-scheduler... Also vielleicht Sollte ich die Verwendung von Dispose (), um zu vermeiden, Sättigung Speicher?

  • Die beste Vorgehensweise ist, um auch den Aufruf der Dispose () - vor allem, wenn mit ODP.NET nicht verwaltete. Die Argumentation ist, dass der garbage collector kann langsam sein, um aufzuräumen und das kann zu Problemen führen, wie zu viele verbindungen/Cursor offen zu bleiben für zu lange.
InformationsquelleAutor Adeel ASIF | 2016-02-29
Schreibe einen Kommentar