Zzdats.Lgp.Common.JsonDB.Oracle
10.0.4
Prefix Reserved
dotnet add package Zzdats.Lgp.Common.JsonDB.Oracle --version 10.0.4
NuGet\Install-Package Zzdats.Lgp.Common.JsonDB.Oracle -Version 10.0.4
<PackageReference Include="Zzdats.Lgp.Common.JsonDB.Oracle" Version="10.0.4" />
<PackageVersion Include="Zzdats.Lgp.Common.JsonDB.Oracle" Version="10.0.4" />
<PackageReference Include="Zzdats.Lgp.Common.JsonDB.Oracle" />
paket add Zzdats.Lgp.Common.JsonDB.Oracle --version 10.0.4
#r "nuget: Zzdats.Lgp.Common.JsonDB.Oracle, 10.0.4"
#:package Zzdats.Lgp.Common.JsonDB.Oracle@10.0.4
#addin nuget:?package=Zzdats.Lgp.Common.JsonDB.Oracle&version=10.0.4
#tool nuget:?package=Zzdats.Lgp.Common.JsonDB.Oracle&version=10.0.4
Common-JsonDB-Oracle .NET10
Common-JsonDB-Oracle repozitorijs satur kopējo implementācija JSON datu apmaiņai ar Oracle datu bāzes serveri.
Šis repozitorijs ir kā daļa no LGP .Net Core projekta.
Pakas
Pakas nosaukums
Zzdats.Lgp.Common.JsonDB.Oracle
Izmantošana
Izmantošanai nepieciešams Startup klases metodei ConfigureServices pielikt:
services.AddOracleJsonDB();
Ja nepieciešams visiem novadiem izveidot vienu konekciju, tad nepieciešams pielikt:
services.AddOracleJsonDB(options =>
{
Configuration.GetSection("Lgp:Infrastructure:JsonDB").Bind(options);
Configuration.GetSection("Lgp:Infrastructure:Service").Bind(options);
});
Un vides manīgajso iestatīt vērtības:
LGP__INFRASTRUCTURE__JSONDB__USEDISTRICTIDFROMUSERCONTEXT=false
LGP__INFRASTRUCTURE__SERVICE__DISTRICTID=
Tāpat ir nepieciešams, lai projektā būtu implementēta IUserProvider, IModuleSettings un ICssoConnectionProvider
no lgpcore/common-core projekta.
Lai pielāgotu Oracle konekcijas parametrus var izmantot appsettings.json. Dokumentācija parametriem šeit: https://docs.oracle.com/en/database/oracle/oracle-database/23/odpnt/ConnectionConnectionString.html
{
"Oracle": {
"Pooling": "true",
"PersistSecurityInfo": "true",
"MaxPoolSize": "50",
"MinPoolSize": "0",
"ConnectionLifeTime": "1800",
"ValidateConnection": "false",
"IncrPoolSize": "5",
"DecrPoolSize": "3",
"StatementCachePurge": "",
"StatementCacheSize": ""
}
}
Šīs vērtības atbilst bibliotēkas noklusējumiem, tāpēc appsettings.json tās
jānorāda tikai tad, ja gribat citu vērtību:
| Parametrs | Bibliotēkas noklusējums | ODP.NET noklusējums | Kāpēc tāds |
|---|---|---|---|
Pooling |
true |
true |
savienojumu atkalizmantošana |
MaxPoolSize |
50 |
100 |
reiziniet ar replikām un datu bāzēm, lai nepārsniegtu servera sessions limitu |
MinPoolSize |
0 |
1 |
tukšs pūls pēc pārtraukuma neuztur bojātus savienojumus |
ConnectionLifeTime |
1800 |
0 (bez ierobežojuma) |
bez tā savienojums dzīvo mūžīgi un pēc DNS/failover izmaiņām rāda uz veco serveri |
DecrPoolSize |
3 |
1 |
ātrāk atbrīvo neizmantotus savienojumus |
ValidateConnection |
false |
false |
skat. zemāk |
ValidateConnection=true liek pūlam pārbaudīt savienojumu pirms izsniegšanas.
Tas nav noklusējums apzināti: provaideris atver un aizver savienojumu katram
pieprasījumam, tāpēc validācija pievienotu vienu servera apriti katram HTTP
pieprasījumam. Ieslēdziet to tikai modulim, kuram savienojuma pārtraukumi
atkārtojas, un ar apzinātu latences kompromisu.
Kad šie noklusējumi tiek piemēroti un kad ne
Savienojumu var izveidot divos veidos, un noklusējumus saņem tikai viens:
| Savienojums nāk no | Sesijas klase | Noklusējumi tiek piemēroti |
|---|---|---|
| CSSO/Vault savienojuma parametriem | CssoOracleSession, InternalCssoOracleSession |
jā |
Savienojuma virknes ConnectionStrings:Database |
ConfigOracleSession |
nē |
Otrajā gadījumā bibliotēka gatavajai virknei uzliek tikai tos parametrus, kas
ir appsettings.json Oracle: sadaļā. Viss pārējais paliek pie ODP.NET
noklusējumiem, tostarp Connection Lifetime=0 — savienojums netiek atjaunots
nekad, un pēc datu bāzes pārtraukuma vai failover pūlā paliek bojāti
savienojumi.
Kā saprast, kurā gadījumā esat. Ja appsettings.json ir sadaļa
ConnectionStrings ar Database (vai citu nosaukumu, kas padots
CreateConnection), tad savienojums tiek veidots no virknes un noklusējumi
netiek piemēroti. Tādā gadījumā ConnectionLifeTime un MinPoolSize
norādiet skaidri — vai nu Oracle: sadaļā, vai pašā savienojuma virknē.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Elastic.Apm (>= 1.34.5)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Oracle.ManagedDataAccess.Core (>= 23.26.200)
- Zzdats.Lgp.Common.Core (>= 10.0.0)
- Zzdats.Lgp.Common.Csso (>= 10.0.2)
- Zzdats.Lgp.Common.JsonDB (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.