19. november 2002 - 15:28Der er
12 kommentarer og 1 løsning
Hvordan løser man flerbrugerproblematikken med Asp?
Jeg har en web-shop database hvor både kunder, salgsmedarbejdere og leverandørene bruger de samme tabeller fra en Access database samtidtigt. Hvordan sikrer jeg, at der ikke opstår flerbrugerproblemer? Kan jeg lave en databasebroker og en singleton? Kan jeg lave en global variabel? Asp er jo ikke objektorienteret!? Hvordan løses dette problem i den virkelige verden?
nu kan access jo godt håndtere flere connections af gangen, så det er ikke noget problem, og skulle det alligevel gå hen og blive det så burde du måske overveje at skifte til f.eks. mySQL eller MS SQL
Og i forbindelse med en hjemmeside er det også begrænset der er bruger databasen af gangen. Den er jo kun åben i de par millisekunder hvor siden eksekveres på serveren, så med mindre du har flere tusind visninger i timen, er chancen for at to skriver til samme tabel samtidig i praksis ikke eksisterende.
cyberfessor>> Du har ret i, at der i praksis kun vil opstå problemer hvis der er mange der er på. Men det er en hovedopgave til datamatiker, og jeg skal diskutere problematikken til afsluttende eksamen næste tirsdag. Og vi har IKKE haft Asp undervejs. Derfor søger jeg lidt gode ideer her.
soes>>det var hidtil det bedste svar. jeg har altid været i tvivl hvornår en transaktion egentligt kommittes, når man udfører sql med asp. Kan man programere en broker, som kun tillader en bruger ad gangen at komme i databasen? Så man slipper for roll-back? (husk lige også at lægge et svar :-)) har du flere gode ideer?
Undskyld mig men er der ikke nogen her der har tænkt på Aplication.Lock og Aplication.Unlock
Ret smart for man kan jo ikke låse aplication når den er låst i forvejen så man kan jo i teorien bruge den til at låse så der ikke er andre der ændre oplysninger i databasen på samme tid... bare husk at åbne den igen... :o)
Jeg ved ikke så meget om det, så du må rette mig hvis jeg har forstået det her forkert. Applikationsvariabler er synlige for alle, dvs. at variablerne kan bruges af alle .asp sider. Det er disse variabler som kan låses, så de ikke kan forandres af alle, indtil de er låst op igen? Kan de stadig ses af alle når de er låste?
Kan jeg så f.eks. ikke bare have en variabel "adgang ledig" som jeg sætter til false når jeg går ind i databasen, og true når jeg går ud igen?
Aplications variablen kan ikke låses når den allerede er låst så derfor kan det samme script ikke læse de samme ting på samme tid men andre sider kan godt hvis altså ikke du også låser aplication objectet... men hvis det kun er en side der ændre noget i en database eller variable eller andet kan man godt bruge at låse aplications variablen :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.