webForumDet fria alternativet

IIS med WinXP - databaser med asp

Webbservrar

17 svar · 639 visningar · startad av erciz

Medlem sedan maj 20011 826 inlägg
Frågan#1

[Nu verkar problemet vara nåt med ODBC eller nå drivrutiner, kolla längre ner i tråden]

Försöker få det att funka att göra asp-sidor kopplade till Access-databaser under IIS som följer med WinXP, jag får nedanstående felmeddelande, men jag vet inte hur jag fixar det:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att uppdatera. Databasen eller objektet är skrivskyddat.
/jonas.asp, line 21

Jag har gjort ett enkelt asp-skript i asp, dock vet jag inte om det är felfritt:

<%@ language= VBScript %>
<html><body>hejsan <br>
<%=Now%>
<%
Set ConObj = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")

ConObj.Open "Databasen"

SQLStr = "Select * From Tavla Where ID > 0"

RecSet.Open SQLStr,ConObj,1,2

RecSet.AddNew
RecSet("Nu") = Now
RecSet.Update
%>
</body></html>

Nån som vet hur jag fixar det?

Medlem sedan feb. 200115 571 inlägg
#2

Ställ in skrivrättigheter på mappen där databasen ligger.

Medlem sedan juni 20006 022 inlägg
#3

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Det går inte att uppdatera. Databasen eller objektet är skrivskyddat.
/jonas.asp, line 21

Antingen så är databasen skrivskyddad eller så har du inte tillräckligt med rättigheter för att skriva till den. Högerklicka på filen och kolla så den inte är skrivskiddad och att IUSR_datornamn har skrivrättigheter på den.

Medlem sedan maj 20011 826 inlägg
#4

OK, men var ska jag ändra rättigheterna då?
...i den här datorn, så är den inte dold eller skrivskyddad, vilket inte borde ha nån större betydelse....

...i Administrationsverktyg > IIS har jag alla rättigheter på både asp- och databas-filen...

?

Medlem sedan feb. 200115 571 inlägg
#5

Högerklicka på den och välj Egenskaper/Properties.
I den dialogrutan väljer du fliken Säkerhet/Security.

Medlem sedan juni 20006 022 inlägg
#6

och då ska IUSR_dittdatornamn ha läs och skriva rättigheter på den, minst. För det är nämligen den användaren som används då någon surfar på sidan.

Medlem sedan maj 20011 826 inlägg
#7

...funkar fortfarande inte, gjorde nu såhär:

...i Administrationsverktyg>IIS högerklickade jag på filen databas.mdb.

I fliken [Fil] var alla behörigheter förprickade (som de borde vara).
I fliken [Filsäkerhet] fanns flera "områden" i området "Anonym åtkomst och autentiseringskontroll" klickade jag på knappen "Redigera" och fick fram en ruta med lite lösenordsinställningar, i första "området" stod det Användarnamn: [IUSR_NAMN] + bläddraknapp, och under det fanns en "disabled"-ruta med lösenord...

...tror ni får beskriva noggrannare om dumma jag ska få igång IIS "ordentligt" under WinXP, inte särskilt användarvänligt här tycker jag :( ...tack Microsoft ;)

Medlem sedan feb. 200115 571 inlägg
#8

Högerklicka på den i Utforskaren, _inte_ nån annanstanns.

Medlem sedan maj 20011 826 inlägg
#9

Går in i wwwroot-katalogen med Utforskaren och högerklickar på databas.mdb och två flikar visar sig, [Allmänt] och [Sammanfattning], i den senare finns bara några ointressanta tomma värden, och i "Allmänt" finns info om Plats, filstorlek mm, längst ner finns "Attribut" och där är varken []Skrivskyddad eller []Dold förkryssad (precis som det borde vara)...

...så problemet återstår :( ...kanske får skrota WinXP och gå över till Win98 och PWS för att köra asp-sidor med databaser, men det bäremot tungt :(

...Nån kanske har en guide med alla inställningar man behöver göra för att köra databaser i IIS under WinXP, det är nästan första gången jag använder IIS i XP, så jag tror inte jag har hunnit ändra så många inställningar.... :( <- dyster

Medlem sedan feb. 200115 571 inlägg
#10

Är det XP-Home du har eller?

Medlem sedan maj 20011 826 inlägg
#11

Nej, tokheller =)

WinXP Pro, svensk OEM-version
...så det man borde kunna få igång det tycker jag :(

Medlem sedan feb. 200115 571 inlägg
#12

Ja det går.
Antingen har du råkat installera på FAT32 eller så har du inte stängt av "Förenklad fildelning" (det gör du i Verktygsmenyn - mappalternativ - visning från tex utforskaren).

Medlem sedan maj 20011 826 inlägg
#13

Nej, nej jag kör med NTFS, däremot hade jag inte stängt av "Förenklad fildelning", så jag stängde av det, men det funkade inte ände, men jag fick ett annat felmeddelande nu:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][Drivrutin för ODBC Microsoft Access]Fel i rad
/jonas.asp, line 21

...så det kanske är fel i själva asp-koden?

Medlem sedan feb. 200115 571 inlägg
#14

Njäe, det behöver det inte vara. Nu är den iaf öppen för att kunna skrivas i men det där är nåt vajsing med ODBC-kopplingen och det är inte min starka sida tyvärr. Det är på rätt väg nu iaf.

Medlem sedan maj 20011 826 inlägg
#15

Jag testade att köra följande DSN-lösa script (som ska funka om databasen ligger i samma katalog som asp-filen, vilket den gör):

<%@ language= VBScript %>
<html><body>hejsan <br>
<%=Now%>

<%
Set ConObj = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")

DSNLessFilePath = Server.MapPath("databasen.mdb")
ConObj.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DSNLessFilePath & ";" 'Istället för "DatabasDSN" i en DSN-lösning

SQLStr = "Select * From Tavla Where ID > 0"

RecSet.Open SQLStr,ConObj,1,2

RecSet.AddNew
RecSet("Fnamn") = Now
RecSet.Update

RecSet.Close
ConObj.Close %>
</body></html>

När jag kör det får jag följande felmeddelande:

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access]Allmänt fel Det går inte att öppna registernyckeln 'Temporary (volatile) Jet DSN for process 0x134 Thread 0x734 DBC 0x101b024 Jet'.
/jonas.asp, line 14

Ska jag testa med att installera IIS, tror ni det skulle hjälpa?

Medlem sedan juni 200032 967 inlägg
#16

Sök på 'volatile' här på wF så får du en hel del uppslag.

Mvh,

Medlem sedan juni 200032 967 inlägg
#17

Förresten, felmeddelandet 'Fel i rad' kan betyda att du har fält som är satta som obligatoriska i tabellen, men du ger de inte ett värde i din .AddNew / insert. Se till att du ger alla obligatoriska fält värden.

Mvh,

Medlem sedan maj 20011 826 inlägg
#18

NU FUNKAR DET!!!!

Löste det såhär:
Mycket riktigt som @nders sa så var det nåt knas med databasen, och min primärnyckel, så jag tog bort databasen och gjorde en ny med samma namn på samma plats.

Efter det så funkade det bara varannan gång (!)

Då använde jag utforskaren för att ändra rättigheterna i "Filsäkerhet" på databasen, som SirPeter och Quid beskrev tidigare och efter det funkar det!! jihoo!!

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
134 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)