Access database konfigurationer af Joakim Dalby En database med mange
skærmbilleder til indtastning af forskellig data, visning af oversigter,
udskrifter og statistikker med grafik, er oplagt at implementere i en Microsoft
Access som er state-of-the-art værktøjet på PC markedet i dag. En Access database kan bestå
af en enkel fil med efternavnet .mdb hvori både selve databasen og
applikationens skærmbilleder og udskrifter er placeret. På de enkelte brugeres
PC’ere installeres Access, ofte som en del af den samlede Microsoft Office
pakke. Selve databasefilen placeres på en central computer (file-server) så
der tages daglig sikkerhedskopi heraf. Kommer der flere brugere til, kan man
sagtens lade databasefilen forblive på serveren, da Access understøtter flere
samtidige brugere. For en del år siden var det
interne netværk ikke altid så hurtigt, derfor anbefalede Microsoft, at man
flyttede databasens skærmbilleder, udskrifter og programmering ud på de
enkelte brugeres PC’ere. Den store database-mdb-fil blev
splittet til to filer:
Efterfølgende er
dataoverførslen på netværket blevet hurtigere og hurtigere, så enten bevarer
man i dag én databasefil eller også placeres både applikationsfilen og
databasefilen på file-serveren, så de er nemmere at vedligeholde for ændringer
i skærmbilleder og udskrifter m.v. I det næste ses der nærmere
på tre konfigurationsformer for implementering af Access databaser, og til
sidst beskrives den fjerde konfigurationsform til at få en Access database på
Internettet. Der sluttes af med kort at nævne, at man også kan få en Access
database på din håndholdte PC. Access som file-server database Access programmet er
installeret sammen med den øvrige Office pakke på den enkelte brugers PC
eller der er installeret en runtime-udgave af Access programmet, så der
ikke skal købes en Access licens. Installerer man Access på en file-server
bliver selve afviklingen af Access fortsat foretaget på bruger PC’eren. Afviklingen af Access
programmet betyder, at selve databasebehandlingen foretages på den enkelte
brugers PC. Men når databasens indhold er placeret på en central file-server,
så flere brugere kan arbejde med databasen samtidig, så skal data fra
databasen overføres via netværket til den enkelte brugeres PC, ofte kaldet
den lokale PC. I forbindelse med en forespørgsel på alle kunder fra Søborg,
sker der det, at alle kundernes data overføres til lokal PC’eren, selvom det
kun er Søborg kunder som ønskes. Er der mange kunder skal der overføres mange
data, for kun at filtrere nogle få kunder fra Søborg, hvorved en stor del af
de overførte data var overflødige. Sådan afvikles Access programmet på en
brugers PC, og det kaldes for en file-server database uanset hvor mdb-filerne
er placeret. Ved meget store datamængder kan brugeren opleve lidt ringe svartider,
fordi mange data skal overføres fra serveren til den lokale PC for videre
behandling. Access som client-server database Ved store databaser må man
undgå, at databasebehandlingen sker på lokal PC’eren, d.v.s. flytte
databasebehandlingen ind på selve serveren, så der kun overføres præcis de
data, man har forespurgt efter. Derved opnås, at der bliver overført langt
færre data over netværket, hvilket alt andet lige vil give en hurtigere
svartid. Man kalder en database, som
foretager databasebehandlingen på serveren og kun overføre svardata til den
lokale PC, for en client-server database. Microsoft SQL Server 2000 er en
client-server database, men den har ingen mulighed for at designe
skærmbilleder og udskrifter som Access jo har. Hvad gør man så? Når en Access database begynder
at give lidt ringe svartider, kan man flytte selve databasefilen til en SQL
Server og bibeholde applikationsfilen i Access med skærmbilleder og
udskrifter. Det betyder imidlertid, at file-serveren ændres til en rigtig
server med Windows Server operativsystem samt køb af Microsoft SQL Server
2000 databasen og licenser til brugere som skal tilgå den via Access. Med en bagvedliggende
Microsoft SQL Server 2000 database på en server og en række lokale PC’ere med
Access XP som afvikler applikationsdelen, så opnår man meget hurtige
svartider uanset datamængden, fordi al databasebehandlingen sker på serveren.
Access er fortsat installeret på de enkelte brugeres PC, men Access opfører
sig som en client-server-database. Man kalder det i Access for upsize, når
database-mdb-filen konverteres til en SQL Server databasefil, og selve
applikations-mdb-filen bliver også konverteret til en Access
projekt-adp-fil og bibeholdes på den lokale PC som applikationsfilen, og den indeholder
fortsat de samme designværktøjer til skærmbilleder og rapporter samt
programmeringen er også fortsat det samme. Skærmbilleder, udskrifter
og programmering bliver således fortsat gemt i Access projekt-applikationsfilen,
mens forespørgsler bliver gemt i databasen på SQL Serveren, så de kan blive
afviklet hurtigt der og sende den lille svar-datamængde over netværket til
Access projektet på lokal PC’eren. Læs mere SQL Server mulighederne i Access XP. Access som server database Hvordan kan det lade sig
gøre, at bibeholde databasen i en Access mdb-fil, og så alligevel opnå at
databasebehandlingen sker på en server, så der kun overføres få datamængder
til lokal PC’eren? Svaret er anvendelse af
Windows Terminal Server eller Citrix MetaFrame Server, som begge afvikles på
en Windows Server. De to systemer benytter sig af, at selve applikationen
også bliver placeret og afviklet på en central server, og kun sender
skærmbilleder til lokal PC’eren og modtager tastetryk og musseklik fra lokal
PC’eren. Access installationen på hver lokal PC’er bliver også overflødig med
denne teknik, og ønsker man at spare licenser, kan der installeres en
run-time udgave af Access på Windows Serveren. Ved at placere applikationsfilen
og databasefilen på samme server, opnår man, at der ikke skal overføres
datamængder over et netværk, hvorved databasebehandlingen sker samme sted
som databasens forefindes, d.v.s. a la en SQL Server. Naturligvis er Access
ikke så hurtig til at behandle data som en SQL Server, men i mange tilfælde
vil man med denne teknik opnås meget hurtige svartider, fordi overførsel af
skærmbilleder og tastetryk kræver meget lidt af netværket. Applikations-mdb-filen (evt.
adp-filen hvis man også vælger at have en SQL Server database) placeres på
Windows Server i hver brugers egen mappe som findes under: C:\Documents and
Settings\<user login navn>\My Documents Hver bruger af Access
applikationen har således sin egen applikations-mdb-fil, der er sammenkædet
med en database-mdb-fil som kan placeres under: C:\Documents and
Settings\All Users\Documents (Shared
Documents) Når der er foretaget
ændringer i applikationsfilen kan man via et lille batch kørsel kopiere den
ud i brugernes mapper, se eksempel på en bat-fil til dette formål sidst i
dokumentet her. I Windows XP kaldes det ikke
mere Terminal Server, men i stedet Remote Desktop Connection eller
Forbindelse til Fjernskrivebord på dansk. Menupunktet findes under
{Tilbehør/Accessories} {Kommunikation/Communications}, hvis diverse services
er aktive på PC’eren. Access som Internet database Internet programmering er
ofte lig med HTML til skærmbillede opbygning, JavaScript til bl.a. kontrol
af brugerens indtastninger, ASP på en central server til databaseadgang/databasebehandling
og så en Access eller en SQL Server database. Access har en mulighed for
at designe skærmbilleder til Internettet, men programmeringen heri er
væsentlig anderledes og man opnår aldrig at få samme skærmbillede
funktionalitet som i rigtige forms i Access. Endvidere er det ikke så nemt at
få udskrevet flotte rapporter med grafer via Internettet. Med .NET programmering man
kan implementere sin egen applikation ved brug af WebForms, men så benytter
man jo ikke Access skærmbillede- og rapport værktøjerne. Ved at anvende Windows
Terminal Server eller Citrix MetaFrame Server på samme måde som beskrevet
tidligere, kan en Access applikation nemt stilles til rådighed på
Internettet. Applikationen kan enten aktiveres via en ikon eller via
browseren, hvorved brugeren vil tro, at der er tale om en almindelig
applikation, men hvor skærmbilleder og tastetryk blot sendes over
Internettet. Har man en Access
applikation som flere lokale afdelinger/kontorer i en virksomhed skal deles
om, eller sælgere som er på farten skal indtaste i, kan man ved brug af disse
teknikker få adgang til Access applikationen via Internettet, og naturligvis
kan der tillægges forskellig sikkerhed så som VPN. Læs mere om Windows Terminal Server
eller Citrix MetaFrame Server, hvor sidst nævnte netop
beskriver en løsning fra 1999 med en Access applikation der tilgås via
Internettet. Access som håndholdt database En håndholdt PC, tidligere
kaldt personal digital assistant (PDA), med operativsystemet Microsoft
Pocket 2002 som
er en tilpasning af Windows CE, indeholder en række applikationer så som:
Microsoft Pocket Internet Explorer, Microsoft Pocket Word, Microsoft Pocket
Excel, and Microsoft® Pocket Outlook samt Microsoft Pocket Access. Microsoft Pocket Access er dog ikke en normal
Microsoft Access, hvori der laves tabeller og skærmbilleder, og den kan
heller ikke vise skærmbilleder. Microsoft Pocket Access håndterer kun selve
databasens data, så en Access mdb-fil kan overføres til en håndholdt PC via
et Microsoft program på som følger med Pocket PC operativsystemet kaldet
ActiveSync, d.v.s. synkronisering. På den håndholdte PC bliver mdb-filen til
en cdb-fil. Ligeså kan data fra håndholdte PC overføres til en Access database
på desktop PC’eren. Der findes også en særlig SQL Server 2000 Windows CE Edition database. En
Access applikations-mdb-fil kan ikke flyttes til en håndholdt PC, hvilket formentlig
også hurtig ville give skærmbillede problemer, fordi den håndholdte PC’s skærmopløsning
er 240x320 (bredde x højde), og bibeholdes
tastaturet nederst vil der ca. være plads til et skærmbillede på 240x140, da
tastaturet tager en del i højden. Se eksempler på skærmbilleder i 240x320 Med et særligt database-applikationsværktøj
på en håndholdt PC kan det nemt lade sig gøre at udvikle en Access
applikation på en håndholdt PC med skærmbilleder der næsten ligner dem man
er vant til i Access, d.v.s. indtastningsfelter, kombibokse med
valgmuligheder og faneblade så data kan blive fordelt på det lille skærmbillede
samt multi-form med flere tabeller. Det skal også lige nævnes, at i Visual
Studio .NET 2003 udviklingsværktøjet fra Microsoft, er det indbygget at
udvikle applikationer til håndholdte PC’ere med Pocket PC 2002
operativsystem, kaldet Smart Device. Ellers kan Java programmering også
nævnes som en mulighed. Microsoft lancerer snart nyt software til håndholdte
PC’ere kaldet »Windows Mobile 2003 Software for Pocket PCs«. Udvides en håndholdt PC med
Internet adgang via GPRS (General Packet Radio Service) evt. med muligheden
for online adgang hvor der kun betales for overførte data, vil anvendelse af
Windows Terminal Server teknikken være muligt, således at man ude i marken
ser up-to-date data i en almindelig Access applikation dog tilpasset det
lille skærmbillede, og hvor indtastet data på den håndholdte ikke skal overføres
når man kommer hjem, men straks bliver gemt på den centrale server, så andre
bruger har adgang her til med det samme. Indeholder den håndholdte PC
også GPS (Global Position System), så kan man nemt få registreret »koordinaterne«
i en database, hvis man ønsker en lokationsregistrering. Der er mange muligheder for
at få en Access database som håndholdt. Eksempel på batch kørsel for kopiering af en
applikationsfil til brugernes mapper AppCopy.bat
(afviklet på en Windows Server) @echo off @echo App.mdb kopieringslog %date% %time%>C:\AppCopyLog.txt @echo. >>C:\AppCopyLog.txt @goto start @Skriv dine brugernavne herunder (login navne): administrator Hans Peter Pia Lene @:start @for /f
"eol=@ delims=" %%a in (%~sf0) do ( @echo Kopiering af App.mdb til bruger:
%%a >>C:\AppCopyLog.txt @echo.
>>C:\AppCopyLog.txt @xcopy
"C:\Documents and Settings\All Users\Documents\App.mdb" "C:\Documents and Settings\%%a\My
Documents" /f/v/c/y >>C:\AppCopyLog.txt
2>&1 @echo.
>>C:\AppCopyLog.txt ) |