|
|||||||||||||||||
![]() |
|||||||||||||||||
Pràctica |
![]() |
Exercicis
|
|||||||||||||||
JDBC. Accés a bases de dades | ||
|
||
Els motors de dades SQL | ||
![]() |
Una de les necessitats més evidents dels sistemes informàtics és l'enregistrament sistemàtic i estructurat d'informació. Bancs, instituts, hospitals, aeroports, empreses de qualsevol dedicació, tothom necessita consultar, modificar i enregistrar informació en ordres de magnitud que van d'uns centenars de registres a molts milions. Al mercat existeixen bàsicament dues aproximacions tècniques a les bases de dades. Les bases de dades d'escriptori com el vell DBase o FoxPro, pensades per treballar principalment en entorns locals o en xarxes amb mínima concurrència, i els motors de dades client/servidor dissenyats específicament per al treball en xarxa (Oracle, mySQL, SQL server, Interbase, etc) i preparats per a suportar una gran càrrega de treball concurrent. Més del 50% de les aplicacions informàtiques del món accedeixen a bases de dades client/servidor. Per això, qualsevol fabricant de llenguatges de programació sap que una part important de l'èxit del seu producte radica a fer fàcil la relació entre els programes i les dades. Des d'aquest punt de vista, Microsoft fou una empresa capdavantera en aquest tipus de tecnologies i ja fa temps va crear les tecnologies ODBC, les quals fan possible que aplicacions de molt diferent naturalesa interactuïn amb dades provinents de qualsevol tipus de motor que disposi del seu driver ODBC. |
|
Els drivers JDBC | ||
Java disposa del seu equivalent ODBC:
els drivers JDBC (Java Data Base Connectivity).
Aquests són programes intermediaris entre
el motor de dades i l'aplicació Java. El programador de
Java fa crides al servidor de dades a
través d'un conjunt de classes
que utilitzen l'estàndard SQL.
El driver JDBC corresponent s'encarrega
de connectar amb les llibreries del servidor de dades i traduir les demandes
que ha fet el programador Java a un codi
que el motor pugui entendre. En aquesta pràctica aprendrem a fer connexions
amb bases de dades per tal d'obtenir i actualitzar informacions
que després es reflectiran en els nostres programes. Ho farem aprofitant
l'únic driver JDBC que porta per
defecte el SDK de Java
de Sun Microsystems: el driver
JDBC-ODBC, que permet, en entorns MS
Windows, la connexió amb qualsevol font
de dades ODBC. Treballarem sobre bases
de dades Access per la seva enorme difusió. Tot allò
que fem en Access pot adaptar-se però,
a motors de dades més adequats
a la pressió de concurrència que podem tenir si creem una
aplicació client/servidor (com, per exemple, una web
dinàmica al servidor del nostre centre): Oracle,
DB2 o SQL-Server,
per a citar alguns motors de pagament,
o Interbase/Firebird i MySQL
entre els gratuïts, però que poden fer la feina amb una qualitat
comparable als de pagament. |
||
Configurar la base de dades: | ||
|
||
![]() |
Com explicàvem unes línies més amunt, el SDK de Java porta, per defecte, el driver JDBC-ODBC. No cal instal·lar res per poder connectar amb fonts de dades ODBC. Sí que hem de crear, però, la font de dades ODBC que descrigui d'una manera adequada la nostra base de dades. La base de dades que us proposem, l'heu de descarregar d'algun dels enllaços següents: baixeu-la, descomprimiu-la i deixeu-la, si és possible, en aquest directori c:/biblioteca. Disposeu de dues versions de la base de dades, una per a Access 97 i una altra per a Access 2000. Trieu la que s'adapti millor al vostre sistema. Després de la descompressió, l'arbre de carpetes ha de ser com aquest:
Les passes per a la creació de la font ODBC són els següents:
|
|
![]() |
Sun no aconsella la utilització del driver JDBC-ODBC per programes en producció. Es tracta, més aviat, d'una utilitat per a programació i aprenentatge de Java i bases de dades. Si necessiteu treballar amb Access via Java, seria millor utilitzar un driver específic JDBC. Aproximadament una dotzena de fabricants disposen d'aquest tipus de producte. Els podeu consultar a http://industry.java.sun.com/products/jdbc/drivers. | |
Connectar amb la base de dades: | ||
![]() |
La utilització de les classes JDBC és idèntica a la resta de programació Java. Crearem instàncies de les classes que estan en els paquets java.sql i javax.sql i, si ens interessa, les manipularem amb els mecanismes convencionals d'herència. Els mecanismes de connexió dels drivers JDBC són fàcils i, com gairebé tot en Java, independents de plataforma. Per tal d'aconseguir una connexió amb una base de dades, senzillament hem de crear un objecte connexió seguint aquesta fórmula:
Ara escriurem un programa que es connectarà amb la base de dades Acces llibres.mdb i ens llistarà les dades de la taula d'usuaris: |
|
Un programa de java amb accés a dades: | ||
![]() |
Escriviu, compileu i executeu el següent programa: | |
|
||
Estudiem una mica en detall el que hem fet:
|
||
![]() |
||