sql >> Database teknologi >  >> RDS >> Oracle

Hvordan rydder man ODP.NET-forbindelsespuljen ved forbindelsesfejl?

Hvis du kan bruge odac (odp) 11g , har du indstillet Valider forbindelse til din pool. Den kan validere forbindelsen, før du bruger den.

Valider forbindelse attribut validerer forbindelser, der kommer ud af poolen. Denne attribut bør kun bruges, når det er absolut nødvendigt, fordi det forårsager en rundrejse til databasen for at validere hver forbindelse umiddelbart før den leveres til applikationen. Hvis ugyldige forbindelser er usædvanlige, kan udviklere oprette deres egen hændelseshandler for at hente og validere en ny forbindelse i stedet for at bruge attributten Validate Connection. Dette giver generelt bedre ydeevne.

Hvis det ikke er godt nok - kan du prøve dette dokument fra oracle.

Administration af forbindelsespool

ODP.NET-forbindelsespuljestyring giver eksplicit forbindelsespoolkontrol til ODP.NET-applikationer. Applikationer kan udtrykkeligt fjerne forbindelser i en forbindelsespulje.

Ved at bruge forbindelsespuljestyring kan applikationer gøre følgende:

Bemærk:Disse API'er understøttes ikke i en .NET-lagret procedure. Ryd forbindelser fra forbindelsespuljer ved hjælp af ClearPool metode.

Ryd forbindelser i alle forbindelsespuljer i et applikationsdomæne ved hjælp af ClearAllPools metode.

Når forbindelser ryddes fra en pulje, genbefolker ODP.NET puljen med nye forbindelser, der mindst har det antal forbindelser, der er angivet af min poolstørrelse i forbindelsesstrengen. Nye forbindelser betyder ikke nødvendigvis, at puljen vil have gyldige forbindelser. For eksempel, hvis databaseserveren er nede, når ClearPool eller ClearAllPools kaldes, opretter ODP.NET nye forbindelser, men disse forbindelser er stadig ugyldige, fordi de ikke kan oprette forbindelse til databasen, selvom databasen kommer op på et senere tidspunkt.

Det anbefales, at ClearPool og ClearAllPools ikke kaldes, før applikationen kan skabe gyldige forbindelser tilbage til databasen.NET-udviklere kan udvikle kode, der løbende kontrollerer, om der kan oprettes en gyldig databaseforbindelse eller ej, og kalder ClearPool ellerClearAllPools, når dette er sandt.

Det kan også være, at dette indlæg vil hjælpe dig.

Opdater :Som påpeget af @MPelletier, for oracle 12 er linket anderledes.



  1. SQL Server 2017:Import af CSV-data fra Linux til Salesforce med SSIS

  2. Microsoft T-SQL til Oracle SQL oversættelse

  3. Eksempler på JDBC-erklæringer – Indsæt, Slet, Opdater, Vælg Record

  4. Fuldtekstsøgning siden PostgreSQL 8.3