Uvod

Interakcija uporabniškega programa in podatkovnega strežnika
Programi so seveda pisani v različnih programskih jezikih in tečejo v različnih okoljih. Prav tako poznamo različne sisteme za upravljanje podatkovnih baz.

Možnosti za povezovanje uporabniškega programa in podatkovne baze

Microsoft je predlagal standard ODBC ( Open Data Base Connectivity), ki je namenjen komunikaciji uporabniških programov s podatkovnimi bazami. Standard določa poenotene funkcijske klice, s katerimi se lahko pogovarjamo z različnimi podatkovnimi bazami.
Zamisel je v tem, da vsi uporabniški programi uporabljajo enake klice funkcij ne glede na to, s katero podatkovno bazo komunicirajo. Zato pa mora biti med njimi in podatkovno bazo še poseben modul, takoimenovani ODBC gonilnik (ODBC driver), ki te klice preslika v obliko, ki jo dani sistem za upravljanje s podatkovno bazo razume. Vsaka Vrsta SUPB torej zahteva svoj ODBC gonilnik.

ODBC dostop do PB

## Programi v Javi in dostop do podatkovnih baz s pomočjo JDBC

JDBC (Java Database Connection) je standardna metoda za dostop do podatkovnih baz iz Jave. V bistvu je to aplikacijski programski vmesnik (API, Application Programming Interface). Sun je po zgledu Microsoftove tehnologije ODBC razvil knjižnico JDBC. Žal je ODBC kar kompleksen, ker nudi le nekaj, zato pa kompleksnih klicev. JDBC naj bi to kompleksnost poenostavil z uvedbo več bolj preprostih klicev.

JDBC dostop do PB
Dostop do podatkovne baze s pomočjo JDBC terja več korakov:

1. Tvoriti moramo objekt Connection , ki je povezan s podatkovno bazo
2. Tvorimo objekt Statement , s katerim odpremo objekt Connection
3. Povpraševalno izvajanje objekta Statement's vrne objekt ResultSet
4. Sedaj lahko obdelamo vrstice v objektu ResultSet

Poleg te, običajne oblike imamo tudi njene različice. Namesto izjave Statement, tvorimo PreparedStatement (ki omogoča vnaprej pripravljena vprašanja in tako bolj učinkovito uporabo, na primer v zankah). Povpraševanje update lahko vrne le število vrstic, ki so bile posodobljene, vrinjene ali zbrisane, ne vrne pa ResultSet. Na voljo imamo tudi klice, ki povedo podatke o objektih ResultSet (na primer število, imena in tipe stolpcev). Na voljo so tudi klici za podporo transakcij s podatkovno bazo.