Gonilniki
Gonilniki (drivers)
Posamezni sistemi za upravljanje s podatkovnimi bazami zahtevajo za svoj dostop z vmesnikom JDBC ustrezen JDBC gonilnik. Sun ponuja kot del svoje standardne distribucije premostitveni gonilnik JDBC-ODBC. Ta nam omogoča povezavo s katerokoli podatkovno bazo, ki razume ODBC. Ker je ta gonilnik precej počasen, je primeren bolj za preskušanje in ni priporočljiv za poslovne aplikacije.
Večina ponudnikov sistemov za upravljanje s podatkovnimi bazami nudi svoje gonilnike.
Mesto premostitvenega gonilnika JDBC-ODBC
Če želimo dostopiti do podatkovne baze, moramo najprej naložiti gonilnik. Seveda mora biti gonilnik nameščen na sistem (kar pomeni, da mora biti nameščena ustrezna »jar« datoteka z gonilnikom in navedena v poti (classpath)). Če uporabljamo premostitveni gonilnik JDBC-ODBC, moramo še našo podatkovno bazo registrirati z ODBC (Na sistemi MS Windows uporabimo orodje "ODBC data sources" v nadzornem panoju). Ime razreda gonilnika JDBC-ODBC je sun.jdbc.odbc.JdbcOdbcDriver. Ko je gonilnik naložen, se samodejno registrira s pomočjo orodja »Drivermanager« in je tako pripravljen za tvorbo objekta Connection.
Obstaja več načinov nalaganja gonilnika. Omenimo le naslednjo:
Razred System ima statični seznam lastnosti (Property). Če ta vsebuje lastnost jdbc.drivers nastavljeno na seznam imenov razredov gonilnikov, ločen z dvopičji (":") , bodo ustrezni gonilniki samodejno naloženi in registrirani. Ko zahtevamo povezavo, sistem izbere najbolj primeren gonilnik.
Žal pa ta metoda ni primerna za delo s takoimenovanimi »servleti«. V tem primeru je bolje, da naložimo ustrezen razred dinamično, med samim izvajanjem programa na naslednji način:
Obstaja več načinov nalaganja gonilnika. Omenimo le naslednjo:
Razred System ima statični seznam lastnosti (Property). Če ta vsebuje lastnost jdbc.drivers nastavljeno na seznam imenov razredov gonilnikov, ločen z dvopičji (":") , bodo ustrezni gonilniki samodejno naloženi in registrirani. Ko zahtevamo povezavo, sistem izbere najbolj primeren gonilnik.
Žal pa ta metoda ni primerna za delo s takoimenovanimi »servleti«. V tem primeru je bolje, da naložimo ustrezen razred dinamično, med samim izvajanjem programa na naslednji način:
Properties props = new Properties() ; FileInputStream in = new FileInputStream("Database.Properties") ; props.load(in) ; String drivers = props.getProperty("jdbc.drivers") ; Class.forName(drivers) ; |
Datoteka Database.Properties izgleda tako:
# Default JDBC driver and database specification jdbc.drivers = sun.jdbc.odbc.JdbcOdbcDriver database.Shop = jdbc:odbc:Shop |