Inhaltsverzeichnis
Runbook: DSN upravljanje
Trajanje: ~10 minuta
Uloga: Gateway-Operator
Preduvjet: appsettings.json pristup
DSN (Data Source Name) definira unaprijed definirane veze s bazom podataka.
Tijek rada
flowchart TD
A[DSN zahtjev] --> B{Nova ili postojeca?}
B -->|Nova| C[appsettings.json urediti]
B -->|Postojeca| D[Vezu testirati]
C --> E[Gateway ponovno pokrenuti]
E --> D
D --> F{Test uspjesan?}
F -->|Da| G[Dokumentirati]
F -->|Ne| H[Connection String provjeriti]
H --> C
style G fill:#e8f5e9
style H fill:#ffebee
1. Postojece DSN prikazati
# Sve konfigurirane DSN ispisati (API) curl -s http://localhost:5000/api/v1/dsn | jq # Ili direktno u Configu provjeriti cat appsettings.json | jq '.Gateway.Databases'
2. Novu DSN dodati
appsettings.json urediti:
{ "Gateway": { "Databases": { "demo": { "Provider": "sqlite", "ConnectionString": "Data Source=data/demo.db" }, "produktion": { "Provider": "sqlserver", "ConnectionString": "Server=sql01;Database=ProdDB;User Id=app;Password=***;TrustServerCertificate=True" }, "reporting": { "Provider": "postgresql", "ConnectionString": "Host=pg01;Database=reports;Username=reader;Password=***" } } } }
Podrzani Provideri:
| Provider | ConnectionString primjer |
| ———- | ————————— |
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. Gateway ponovno pokrenuti
# 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. DSN testirati
# Tablice nove DSN ispisati curl -s http://localhost:5000/api/v1/dsn/produktion/tables | jq # Prve podatke dohvatiti curl -s "http://localhost:5000/api/v1/dsn/produktion/tables/Customers?\$top=5" | jq
5. DSN ukloniti
- DSN unos iz
appsettings.jsonobrisati - Gateway ponovno pokrenuti
- Provjeriti da DSN vise nije dostupna:
curl -s http://localhost:5000/api/v1/dsn/alte_dsn/tables # Ocekivani odgovor: 404 Not Found
Kontrolna lista
| # | Provjera | Da/Ne |
| — | ———– | — |
| 1 | Provider ispravan (sqlserver/sqlite/…) | - |
| 2 | Connection String valjan | - |
| 3 | Lozinka nije vidljiva u logu | - |
| 4 | Gateway ponovno pokrenut | - |
| 5 | API test uspjesan | - |
Rjesavanje problema
| Problem | Uzrok | Rjesenje |
| ——— | ——— | ——– |
Database not found | Pogresna baza podataka | Ime baze provjeriti |
Login failed | Pogresna lozinka | Credentiale provjeriti |
Connection refused | Firewall blokira | Port 1433/5432/3306 otvoriti |
Provider not supported | Pogresan Provider-name | sqlserver, sqlite, postgresql, mysql |
JSON parse error | Sintaksna greska | JSON validirati (jsonlint.com) |
Sigurnosne napomene
Lozinke nikad ne logirati u cistom tekstu!
Koristite varijable okruzenja za Credentiale:
"ConnectionString": "Server=sql01;Database=ProdDB;User Id=${DB_USER};Password=${DB_PASS}"
Povezani runbookovi
- Server pokrenuti - Nakon Config promjene
- Health Check - Vezu provjeriti
- Konfiguracija baze podataka - Detaljna referenca
« <- Server pokrenuti | -> Health Check »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional
Zuletzt geändert: 29.01.2026. u 23:42