Avatar billede sbm Nybegynder
25. marts 2003 - 14:56 Der er 6 kommentarer og
1 løsning

DB driver problem

Jeg har en lille asp-ting der fungerer upåklageligt... Lige indtil jeg skiftede udbyder. Nu har jeg et problem jeg ikke kan hitte ud af.

Jeg har et forum hvor man kan oprette indlæg. Disse bliver lagt i en acces database. Her er en smule kode, hvor det går galt:

------------------------------------
  overskrift = Request("titel")
  tekst = Request("tekst")
  Const adOpenKeyset = 1
  Const adLockOptimistic = 3
  Conn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../md
b/forside.mdb")
  Set rs = Server.CreateObject("ADODB.RecordSet")
  strSQL = "SELECT * FROM forside WHERE (ID = 0)"
  rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
    If (rs.BOF Or rs.EOF) Then
        rs.AddNew
        rs("forfatter") = Request.Cookies("login")("fornavn")
        rs("overskrift") = overskrift
        rs("tekst") = tekst
---------------------------------------

Der er fejl i linie 29. Det er linien rs("forfatter) ...
Fejlen er:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
/asp/indsaet.asp, line 29

Nogle brugere kan godt oprette uden problemer, mens andre får denne fejl, og ikke kan oprette noget som helst. Og her står jeg sgu af. Jeg vil mene alt dette foregår rent serverside, og derfor ikke burde betyde noget hvem der udfører det.

Nogen gode bud?
Avatar billede sbm Nybegynder
25. marts 2003 - 14:57 #1
Jeg er 99% sikker på at problemet ikke er cookie-relateret... Bare for lige at foregribe eventuelle forslag. ;-)
Avatar billede oasen Nybegynder
25. marts 2003 - 15:34 #2
Muligvis fordi mappen er skrivebeskyttet. Hvis du prøver at bytte rundt på forfatter og overskrift, finder du hurtigt ud af, om det er det, der er galt. Er det det, vil du få samme fejl igen.
Avatar billede sbm Nybegynder
25. marts 2003 - 15:42 #3
Det synes jeg ikke giver nogen mening. Hvorfor kan jeg så selv oprette indlæg hvis den er skrivebeskyttet?
Det skal siges at siden ligger på et webhotel, så der er ikke noget med at jeg har andre rettigheder fordi jeg kører lokalt.
Avatar billede sbm Nybegynder
25. marts 2003 - 15:44 #4
Som fejlen antyder, så ligger fejlen i at der bliver foretaget en "MULTIPLE-STEP OLE DB OPERATION". Men hvorfor det sker for nogen, og ikke for andre, det kan jeg ikke greje.
Avatar billede hossein Nybegynder
25. marts 2003 - 19:42 #5
Det ser ud til at du har ikke åbnet en Connection:
  overskrift = Request("titel")
  tekst = Request("tekst")
 
  strConn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../md
b/forside.mdb")
  Set rs = Server.CreateObject("ADODB.RecordSet")
  Set Conn = Server.CreateObject("ADODB.Connection")  'Tilføj
  Conn.Open strConn
  strSQL = "SELECT * FROM forside WHERE (ID = 0)"
  rs.Open strSQL, Conn, 1, 3
    If (rs.BOF Or rs.EOF) Then  ' ved ikke om det??
        rs.AddNew
        rs("forfatter") = Request.Cookies("login")("fornavn")
        rs("overskrift") = overskrift
        rs("tekst") = tekst
        ...
        rs.update
        rs.Close
        Set rs = Nothing
Avatar billede sbm Nybegynder
26. marts 2003 - 09:40 #6
hossein >> Det gjorde ikke nogen forskel. M.h.t. din kommentar, så har du ret. Den if-sætning er slet ikke nødvendig. Jeg vedligholder blot skidtet, og har ikke spekuleret videre over det, men den er slet og ret overflødig.
Avatar billede sbm Nybegynder
26. marts 2003 - 11:21 #7
Jeg fandt ud af problemet. Det viste sig at brugernavnet for enkelte brugere indeholdt tegn som systemet fik galt i halsen. Derfor var der nogle der fik fejl, mens andre kørte fint igennem.

Jeg er gået igang med en "patch" :-)
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