Avatar billede martin_moth Mester
31. januar 2003 - 11:59 Der er 9 kommentarer og
1 løsning

Vb+database+flere brugere samtidig

Jeg skal til at lave en database over nogle tegningsnumre samt tilhørende info. Databasen skal tilgås fra et VB-program jeg laver, hvorfra folk skal kunne udtrække altmuligt samt tilføje nye tegningsnumre med tilhørende info.

Jeg har bare et spørgsmål, før jeg går igang. Databasen ligger på et lokalt netværk, og hvad sker der hvis een bruger starter mit program, redigerer i databasen, samtidigt med at en anden har den åben?

Bliver det håndteret automatisk, ved at databasen bliver skrivebeskyttet når den åbnes første gang i VB, og kan det så fanges ved et bestemr Err.Number i VB, eller hwa?
Avatar billede somaliomar Praktikant
31. januar 2003 - 12:03 #1
Jeg vil foreslå at bruge SQL Server som backend-database, hvis der mange samtidige brugere på databasen. Så vidt jeg ved har du også mulighed for at køre Transactions i SQL Server, som skulle løse dit problem.
Avatar billede martin_moth Mester
31. januar 2003 - 12:59 #2
Muligvis en bedre løsning - men jeg mangler stadig at vide hvordan det håndteres / kan håndteres, når man fra flere VB-programmer connecter til samme Access-database samtidigt (flere VB-programmer = muligvis 2-3 samtidigt)
Avatar billede martin_moth Mester
31. januar 2003 - 14:32 #3
Øhh - hvad sker der her? Det jeg skrev før var, at det godt kan være at SQL server er en bedre løsning, men det giver mig ikke svar på mit oprindelige spørgsmål - hvad der sker, når der er flere PC'ere der har installeret et VB-program, og de samtidigt forsøger at tilgå og evt. redigerer i den samme database...? (Flere PC'ere = 2-3-4 stykker)
Avatar billede fore Nybegynder
31. januar 2003 - 17:09 #4
Som du selv er inde på er det noget DB selv håndterer. DB låser på recordniveau så der er flere der kan skrive i DB samtidigt.
Avatar billede martin_moth Mester
31. januar 2003 - 18:40 #5
Men hvis to brugere forsøger at skrive til den samme record samtidigt - hvad sker der så - kommer der en fejl med et spscifikt Err.Number, som jeg kan fange?
Avatar billede fore Nybegynder
01. februar 2003 - 10:34 #6
Jeg er ikke 100% sikker på hvordan SQL server håndterer dette og om det kan fanges i VB, men jeg vil forvente at den kun opdaterer de felter der er ændret og den bruger der opdaterer sidst får ret. Hvis du skal lave noget der er 100% skudsikkert skal det formentlig laves transaktionsorienteret.
(Mit tidligere svar skulle nok mere opfattes som en kommentar.)
Avatar billede Slettet bruger
01. februar 2003 - 10:46 #7
Ved 2-4 samtidige brugere på en Access-database kan jeg ikke se at der skulle opstå problemer. Selvfølgelig kan der ske det at brugere ikke har de nyeste data fra databasen i programmet, men det er jo ikke noget der afhænger af, hvilken database du benytter.
Avatar billede martin_moth Mester
01. februar 2003 - 11:33 #8
Jeg må vist hellere formulere mig helt klart

Flere har mulighed for at tilgå databasen samtidigt fra hver deres VB-program. Det er ret usmart, hvis der sidder to mennesker og bruger 3 timer på at udfylde en masse i databasen, hvorefter den muligvis kun opdaterer for den af brugerene. Derfor:

Kan man så snart databasen er i brug af bruger1, og bruger2 forsøger at rette i den, så meddele bruger2, at databasen PT er skrivebeskyttet, fordi bruger1 redigerer i den, og at bruger2 derfor kun kan åbne den med læseadgang. Hvis ja, hvordan tjekker man så fra VB, om databasen allerede er i brug. Ved at forsøge at skrive til den, og få en fejlkode med et bestemt nummer. Eller kan man på anden måde tjekke, at databasen ikke er åben af andre programmer?
Avatar billede schollert Nybegynder
03. februar 2003 - 11:13 #9
Jeg har lige arbejdet med noget i den stil, og valgte simpelthen at tilføje et true/false felt, for selv at håndtere, om den givne record er låst eller ej.

På den måde kan jeg egenhændigt styre hvornår der kan editeres i en record. (Det er skønt at være diktator!)
Avatar billede martin_moth Mester
03. februar 2003 - 13:09 #10
Jeg kommer vist ikke nærmere et svar - tak for hjælpen!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester