Inhaltsverzeichnis
Runbook: Upravljanje DSN
Trajanje: ~10 minut
Vloga: Gateway-operater
Predpogoj: Dostop do appsettings.json
DSN (Data Source Name) definira vnaprej nastavljene povezave do baz podatkov.
Potek dela
flowchart TD
A[Zahteva za DSN] --> B{Nova ali obstoječa?}
B -->|Nova| C[Uredi appsettings.json]
B -->|Obstoječa| D[Testiraj povezavo]
C --> E[Ponovno zaženi Gateway]
E --> D
D --> F{Test uspešen?}
F -->|Da| G[Dokumentiraj]
F -->|Ne| H[Preveri Connection String]
H --> C
style G fill:#e8f5e9
style H fill:#ffebee
1. Prikaz obstoječih DSN
# Navedi vse konfigurirane DSN (API) curl -s http://localhost:5000/api/v1/dsn | jq # Ali neposredno preveri v konfiguraciji cat appsettings.json | jq '.Gateway.Databases'
2. Dodajanje novega DSN
Uredi appsettings.json:
{ "Gateway": { "Databases": { "demo": { "Provider": "sqlite", "ConnectionString": "Data Source=data/demo.db" }, "produkcija": { "Provider": "sqlserver", "ConnectionString": "Server=sql01;Database=ProdDB;User Id=app;Password=***;TrustServerCertificate=True" }, "porocanje": { "Provider": "postgresql", "ConnectionString": "Host=pg01;Database=reports;Username=reader;Password=***" } } } }
Podprti ponudniki:
| Ponudnik | Primer ConnectionString |
| ———- | ————————— |
sqlserver | Server=host;Database=db;User Id=user;Password=pwd |
sqlite | Data Source=path/file.db |
postgresql | Host=host;Database=db;Username=user;Password=pwd |
mysql | Server=host;Database=db;User=user;Password=pwd |
3. Ponovni zagon Gateway
# Windows Stop-Process -Name "WvdS.WebAPI.Data.Gateway.Api" -Force Start-Process -FilePath ".\WvdS.WebAPI.Data.Gateway.Api.exe" # Linux (systemd) sudo systemctl restart data-gateway
4. Testiranje DSN
# Navedi tabele novega DSN curl -s http://localhost:5000/api/v1/dsn/produkcija/tables | jq # Pridobi prve podatke curl -s "http://localhost:5000/api/v1/dsn/produkcija/tables/Customers?\$top=5" | jq
5. Odstranitev DSN
- Izbriši vnos DSN iz
appsettings.json - Ponovno zaženi Gateway
- Preveri, da DSN ni več na voljo:
curl -s http://localhost:5000/api/v1/dsn/stari_dsn/tables # Pričakovan odgovor: 404 Not Found
Kontrolni seznam
| # | Točka preverjanja | V |
| — | ———– | — |
| 1 | Ponudnik pravilen (sqlserver/sqlite/…) | |
| 2 | Connection String veljaven | |
| 3 | Geslo ni vidno v dnevnikih | |
| 4 | Gateway ponovno zagnan | |
| 5 | API-test uspešen |
Odpravljanje težav
| Težava | Vzrok | Rešitev |
| ——— | ——— | ——– |
Database not found | Napačna baza podatkov | Preveri ime baze |
Login failed | Napačno geslo | Preveri poverilnice |
Connection refused | Požarni zid blokira | Odpri port 1433/5432/3306 |
Provider not supported | Napačno ime ponudnika | sqlserver, sqlite, postgresql, mysql |
JSON parse error | Sintaktična napaka | Preveri JSON (jsonlint.com) |
Varnostni nasveti
Gesel nikoli ne zapisuj v čistem besedilu v dnevnike!
Uporabi okoljske spremenljivke za poverilnice:
"ConnectionString": "Server=sql01;Database=ProdDB;User Id=${DB_USER};Password=${DB_PASS}"
Povezani Runbooks
- Zagon strežnika - Po spremembi konfiguracije
- Health Check - Preverjanje povezave
- Konfiguracija baz podatkov - Podrobna referenca
« <- Zagon strežnika | -> Health Check »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional
Zuletzt geändert: dne 29.01.2026 ob 23:40