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

ODP.NET-forbindelsespooling:Sådan fortæller du, om en forbindelse er blevet brugt

Forbindelsespoolingen leveret af ODP.NET er fuldstændig uigennemsigtig. Det vil sige, at den ikke er utæt på den måde, jeg gerne vil have den skal være - der er ingen måde at vide, om en forbindelse har været brugt før eller er helt ny. Det er dog en utæt abstraktion på en anden måde:Enhver sessionstilstand (f.eks. pakkeomfangede variabler, som er sessionsomfangede) bevares mellem brug af forbindelsen. Da dette er et spørgsmål om at bestemme den brugte vs. nye tilstand for en forbindelse uden at gå til databasen , svaret er, at det simpelthen ikke kan lade sig gøre ved hjælp af ODP.NETs indbyggede forbindelsespulje.

Det efterlader to muligheder:

  1. Opret en forbindelsespuljeimplementering, der enten giver disse oplysninger eller udfører brugerdefineret initialisering ved oprettelse af hver ny forbindelse; eller
  2. Udfør en rundtur til databasen for at bestemme den brugte kontra den nye tilstand af forbindelsen.


  1. MariaDB JSON_DEPTH() Forklaret

  2. Hvordan opretter jeg et trin i mit SQL Server Agent Job, som kører min SSIS-pakke?

  3. Oracle SQL Syntaks:Citeret identifikator

  4. Ruby on Rails 3 Kan ikke oprette forbindelse til lokal MySQL-server gennem socket '/tmp/mysql.sock' på OSX