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

  1. DSN unos iz appsettings.json obrisati
  2. Gateway ponovno pokrenuti
  3. 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 | -> Health Check »


Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional

Zuletzt geändert: 29.01.2026. u 23:42