Avatar billede ferdinan Nybegynder
18. januar 2002 - 09:08 Der er 7 kommentarer og
1 løsning

Database går i stå ved opdatering

Jeg har en SQL database som jeg opdaterer på nettet, men når jeg laver en opdatering (både retter, sletter eller opretter) så går sitet i stå for brugerne, ind til at min opdatering er gennemført.

Når nu brugerne ikke skal se den/de poster som jeg er ved at opdatere, kan det så ikke lade sig gøre uden at databasen hænger?

Hvis nu det er en situation hvor der er mange der læse og skriver i samme tabeller samtidigt?

Hvordan åbner jeg databasen bedst muligt her? - både for læser og skriver.


ferdinan
Avatar billede tmceu Praktikant
18. januar 2002 - 12:07 #1
Hvilken database anvender du ?
Avatar billede ferdinan Nybegynder
18. januar 2002 - 12:46 #2
SQL 7
Avatar billede zeptic Nybegynder
18. januar 2002 - 14:12 #3
Det lyder som om du låser hele databasen for rw når du skriver i den.
Når du åbner recordsettet du bruger til at opdatere, hvilke værdier har så locktype og cursortype?
Avatar billede ferdinan Nybegynder
18. januar 2002 - 15:17 #4
SQL = \"SELECT * FROM Tabel\"
Set RS = Server.CreateObject(\"ADODB.Recordset\")
RS.Open SQL, myConn, 1, 3


ferdinan
Avatar billede ferdinan Nybegynder
18. januar 2002 - 15:21 #5
Jeg gør således.....

SQL = \"SELECT * FROM Tabel WHERE ID = \" & Request.form(\"ID\")
Set RS = Server.CreateObject(\"ADODB.Recordset\")
RS.Open SQL, myConn, 1, 3
RS.AddNew
RS.Fields(\"Navn\") = Request.form(\"Navn\")
RS.Update
RS.Close
Set RS = nothing


ferdinan
Avatar billede zeptic Nybegynder
18. januar 2002 - 15:34 #6
Det første udtryk har ikke brug for locktype=3, da det er readonly. cursortype kan sikkert også ændres til 0 uden at du får problemer (du kan således kun gå forlæns i dit rs).
Du kan formentlig nøjes med RS.Open SQL, myConn, 0, 1
Det andet kan måske med fordel ændres til RS.Open SQL, myConn, 0, 3

Hvis du vil se hvilke muligheder du har for cursortype og lock type så prøv at kigge her:
http://www.devguru.com/Technologies/ado/quickref/recordset_cursortype.html
og her:
http://www.devguru.com/Technologies/ado/quickref/recordset_locktype.html

Avatar billede zeptic Nybegynder
18. januar 2002 - 15:35 #7
Hvilket isolationlevel bruger du iøvrigt?

myConn.IsolationLevel
Avatar billede ferdinan Nybegynder
18. januar 2002 - 15:47 #8
Jeg har dette kørende i en include fil på alle asp sider....


strDBConn = \"Provider=sqloledb;\" & _
\"Data Source=MyServerIP,1433;\" & _
\"Network Library=DBMSSOCN;\" & _
\"Initial Catalog=MyDatabase;\" & _
\"User ID=UserID;\" & _
\"Password=Password;\"
set myConn = Server.CreateObject( \"ADODB.Connection\" )
myConn.Open strDBConn


ferdinan
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