Avatar billede jwulff Nybegynder
29. juli 2005 - 21:10 Der er 22 kommentarer og
1 løsning

Flerbruger system

Hej, jeg skal til at lave et ordre system der skal kædes sammen med en eksisterende Access database, og det i sig selv er intet problem.

Er der noget bestem man skal tænke på, når det er at systemet bliver brugt af 20 mennesker samtidig og i op til 8 timer i træk, og der hele tiden flyver ordre ind?

Mvh.
JW
Avatar billede busschou Praktikant
29. juli 2005 - 21:11 #1
Du skal i hvert fald have noget sikkerhed omkring sql injection
Avatar billede jwulff Nybegynder
29. juli 2005 - 21:13 #2
Kan du ikke vise eksempler?
Avatar billede nielle Nybegynder
29. juli 2005 - 21:15 #3
Et system, som skal belastes så meget som dette lyder til at skulle klare, ville jeg aldrig bassere på Access. Så hellere en rigtig database som MS SQL (emmer MySQL selom folk er i uenig i om den er "rigtig" ;^).
Avatar billede jwulff Nybegynder
29. juli 2005 - 21:20 #4
Den skal desværre udvikles i Access eftersom det skal samarbejde med Excel. Det er hyppigst også kun 4 timer hvis det gør en forskel?
Avatar billede busschou Praktikant
29. juli 2005 - 21:20 #5
Langt det meste misbrug ved sql injection kan undgåes ved at på strenge at lave en replace(tekst,"'","''") og på tal en Cint(tal) før det indsættes i databasen

Afhængig af hvor mange ordrer der "flyver ind" så har jeg måske nok tendens til at være enig i Nielle.
Du skal også være opmærksom på hvordan du åbner din database når der oprettes og opdateres og slettes osv, man kan jo vælge at tabellen er total spærret for at sikre data integritet. Men det vil sætte dine queries i kø og koster tid hvis der er mange forespørgsler
Avatar billede nielle Nybegynder
29. juli 2005 - 21:22 #6
Du kan da sagtens udveksle mellem MS SQL og Excel.
Avatar billede arne_v Ekspert
29. juli 2005 - 21:23 #7
det afgørende er ikke antal timer eller antal mennesker, men hvormange samtidige
database operationer der sker og hvor lang tid de varer

hvis du laver 1800 database operationer i timen og de tager 2 sekunder
i genemsnit, så vil gennemsnitligt antal samtidige database operationer kun være 1
(peak vil nok være lidt højere)

så sandsyneligvis kan Access godt klare din load

----

Hvis du er lidt skrap til ADO er den bedste måde at beskytte dig mod SQL injection
at bruge parameters
Avatar billede jwulff Nybegynder
29. juli 2005 - 22:20 #8
Den kommer nok ikke over de 250 ordrer...
Avatar billede arne_v Ekspert
29. juli 2005 - 22:22 #9
Du har måske også nogle queries ...
Avatar billede jwulff Nybegynder
30. juli 2005 - 00:19 #10
Hvordan ville du skrive koden med parameter, arne?

Du tænker på ids i url og såån?
Avatar billede arne_v Ekspert
30. juli 2005 - 11:21 #11
Nej - parameters er en måde at gemme i databasen på så du undgår risko for SQL injection
(og en masse andre typer fejl)
Avatar billede jwulff Nybegynder
30. juli 2005 - 19:42 #12
Kan du give nogle eksempler eller steder hvor jeg lige kan læse lidt om det?
Avatar billede arne_v Ekspert
30. juli 2005 - 19:45 #13
jeg lavede for nogle måneder siden dette her eksempel:

<%
' open
adParamInput = 1
adInteger = 3
adVarChar = 200
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Databases\MSAccess\Test.mdb;;"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = con
' traditionel
con.Execute "INSERT INTO t1 VALUES(7,'O''Toole')"
' med parameters
cmd.CommandText = "INSERT INTO t1 VALUES(@f1,@f2)"
cmd.Parameters.Append(cmd.CreateParameter("@f1", adInteger, adParamInput))
cmd.Parameters.Append(cmd.CreateParameter("@f2", adVarChar, adParamInput, 50))
cmd.Parameters("@f1") = 8
cmd.Parameters("@f2") = "O'Malley"
cmd.Execute
' close
Set cmd = Nothing
Set con = Nothing
%>
OK
Avatar billede jwulff Nybegynder
30. juli 2005 - 20:04 #14
Hvad er det præcist der sker, har du ikke en side med dokumentation eller noget?
Avatar billede jwulff Nybegynder
30. juli 2005 - 20:07 #15
har fundet følgende side: http://www.w3schools.com/ado

Er det omkring ADO jeg skal læse?
Avatar billede jwulff Nybegynder
30. juli 2005 - 20:11 #16
Den kode du har skrevet, kan den klare de krav jeg skal opfylde?
Avatar billede arne_v Ekspert
30. juli 2005 - 20:12 #17
ja i ASP er det ADO du skal kigge på
Avatar billede arne_v Ekspert
30. juli 2005 - 20:13 #18
parameters er noget man kan bruge for at undgå SQL injection (og andre problemer)

jeg nævnte det fordi SQL injection er et typisk problem og det første som
busschou nævnte
Avatar billede jwulff Nybegynder
30. juli 2005 - 20:13 #19
Så ADO er en sikker forbindelse til en database, der ikke bliver forstyrret af hvad andre brugere gør?
Avatar billede arne_v Ekspert
30. juli 2005 - 20:15 #20
ADO er det som man bruger til database access i ASP

det er designet til at supportere mange brugere

hvilket ikke helt er det samme som at man ikke kan kode så man får flerbruger
problemer
Avatar billede jwulff Nybegynder
30. juli 2005 - 20:24 #21
Oki, jeg prøver at kigge på det, og vender tilbage.
Avatar billede arne_v Ekspert
03. september 2005 - 18:43 #22
OK ?
Avatar billede jwulff Nybegynder
13. september 2005 - 19:21 #23
Hej, fik ikke lige brug for det... Beklager vente tiden... har været en del hjemmefra..
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