Varför ska man inte använda Access till webben?

2010-05-19

    Microsoft Access är gjort för små applikationer som bör köras inom/på en dator.

    Redan innan internet och webben exploderade var det vanligt att man använde Microsoft Access för att bygga applikationer som skulle användas av flera personer samtidigt. Det tydliggjordes ganska snart att Access inte riktigt hängde med i svängarna när det blev mer än ungefär fem användare. Lite på skämt brukade vi säga att det blev för många redan vid två användare. Riktigt så illa är det inte, men ibland kan man undra… Jag misstänker i och för sig att nätverk och operativsystem hos de inblandade kunderna inte alltid var helt friska. (och 10Mbit var snabbt på den tiden)

    Anledningen till att Access får problem i en nätverksmiljö är att databasen är en stor fil som hanteras av den dator som kör klientprogrammet, eller webbservern i fallet med en webbapplikation. Den hanteras alltså inte av en databasserver som MySql eller MS-SQL. När man har en ordentlig databasserver är den ett program som lyssnar på databasfrågor, letar reda på svaret i den stora filen och skickar sedan tillbaka svaret. Om man använder Access måste programmet som ställer frågan själv hämta hela, eller delar av, den stora filen över nätverket, leta efter data och sedan göra något med det. Om man då har flera användare utspridda över ett nätverk så öppnas databasfilen flera gånger och skickas runt till många på nätverket. Dessutom måste databasaktiviteter som förändrar databasen köas, eftersom flera användare inte kan skriva i samma fil på en gång.

    Hos många ISP:er (Internet Service Provider) som erbjuder webbhosting på Windows-servrar kan man använda Access som databas. Man kommer då inte ha flera användare mot databasen, men många processer från samma användare, vilket ger nästan samma problem som med flera användare på ett nätverk.

    Vad är alternativen?

    Om du bygger en applikation med en central databas som ska användas inom ditt företags nätverk, oavsett om det är en webbapplikation eller skrivbordsapplikation, kan du använda Microsoft SQL Server Express. Det är en version av Microsofts flaggskepp med lite begränsningar. De två stora fördelarna med denna är att det är lätt att flytta upp till en större version av SQL Server samt att alla verktyg fungerar precis som med de stora versionerna. Det gör att man kan använda alla gratisverktyg från Microsoft utan problem. Verktyg som Netbeans, Eclipse och så vidare brukar också ha bra stöd för MS SQL Server.

    Om du bygger en webbapplikation som ska ligga på ett webbhotell brukar MySql vara det bästa alternativet. MySql ägs nu för tiden av Oracle, men är fortfarande gratis och har öppen källkod. MySql finns nästan alltid installerat hos ISP:erna. Om du använder något programmeringsspråk som inte kommer från Microsoft brukar den exempelkod man hittar på nätet vara till MySql.

    Både MySql och MS SQL Express går bra att installera på din egen utvecklingsdator om du vill testköra kod utan att koppla upp dig mot din ISP.

    Det finns en massa verktyg för att konvertera Access till MySql. För att uppgradera Access till MS Sql Server finns det en Upsizing Wizard.

    …så gör slag i saken- ta bort Access från dina webbapplikationer idag!