webForumDet fria alternativet

ASP under iis 7.5

ASP

8 svar · 2 282 visningar · startad av Agneus

Medlem sedan dec. 200346 inlägg
Frågan#1

Har en enkel fungerande ASP lösning som jobbar mot en Accessdatabas. Nu har sajten flyttats till en ny server och det går inte att skriva till databasen längre. Funkar att läsa från den. Databasen har fått skrivrättigheter.

Enda tipset från webbhotellets support är "Observera att ni ska använda funktioner som stöds av Windows 2008 r2 iis 7.5"

Vad är det i ASP koden som ska skrivas om? Har letat lite på nätet men inte lyckats hitta något.

Så här ser "sparafilen" ut:

<%option explicit%>

<%

	Dim Conn
	Set Conn = Server.CreateObject("ADODB.Connection")	
	Dim path
	path = Server.MapPath("db.mdb")	
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & path

	Dim datum,rubrik,nyhetstext

	datum = Request.Form("datum")
	rubrik = Request.Form("rubrik")
	nyhetstext = Request.Form("nyhetstext")

	Dim strSQL
	strSQL = "INSERT INTO TabNyheter(datum,rubrik,nyhetstext) VALUES('" & datum & "','" & rubrik & "','" & nyhetstext & "')"

	Dim RS
	Set RS=Conn.Execute(strSQL)
%>

<%
	Conn.Close
	Set RS = Nothing
	Set Conn = Nothing
	Response.Redirect "lista_innehall.asp"
%>
Medlem sedan jan. 20013 341 inlägg
#2

Vad får du för felmeddelande?

Medlem sedan juni 201161 inlägg
#3

Om du tidigare låg på en version under IIS 7.0 (dvs under Windows Server 2008), kan ju detta vara en bra länk att läsa:
Using Classic ASP with Microsoft Access Databases on IIS 7.0 and IIS 7.5

Här är ett intressant stycke:

When you are deploying a classic ASP application that uses an Access database you may see this error because the lock file for the Access database cannot be created. To further explain this scenario: Access databases are kept in files that use an .MDB file name extension. When you try to add to the database or update the data, the Microsoft JET database engine attempts to create a lock file with that uses an .LDB file name extension. If the Access database is stored within the content area of your Web site, by default the JET database engine will not have sufficient access permissions to update the database and you will see the following error message displayed in a Web browser:

**Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/example.asp, line 100**

Medlem sedan dec. 200346 inlägg
#4

aleborg skrev:

Vad får du för felmeddelande?

HTTP 500 - Internt serverfel

Medlem sedan jan. 20013 341 inlägg
#5

är det hos oss(binero) du ligger? i så fall pm:a mig länk till sidan och ditt kundnummer. Det skulle kunna vara så att om du ligger i 2.0 så kan felet bero på att allt är lastbalanserat och därför låser sig databasen när den accessas från 2 noder, en nod kan då inte arbeta korrekt mot databasen. En lösning är då att du använder dig av MS SQL som ingår.

Medlem sedan juni 200032 967 inlägg
#6

Agneus skrev:

HTTP 500 - Internt serverfel

Byt webbläsare, alt. stäng av "Egna http-felmeddelanden" / "Friendly http error messages" i IE.

Medlem sedan dec. 200346 inlägg
#7

Sajten ligger hos Svenska Domäner.
När jag nu testar i Firefox får jag de här felmeddelandena:

Vid försök att lägga upp en ny post:

Microsoft JET Database Engine error '80004005'
Operation must use an updateable query.
/db_resor/save.asp, line 25

Rad 25
 Dim RS
 Set RS=Conn.Execute(strSQL)

Radering av post:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
/db_resor/radera.asp, line 19

"Raderafilen"

<%	

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb") & ";"

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Radera = "SELECT * FROM TabNyheter WHERE id = " & Request.QueryString("id") & " "

	RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic 

Rad 19	RecSet.Delete

	RecSet.Close
	Connect.Close
	
Response.Redirect("lista_innehall.asp")

%>

Ska titta på tipset som Oldtimer hänvisar till. Verkar ha med det här att göra.

Medlem sedan juni 20006 022 inlägg
#8

Det verkar som om du inte har skrivrättigheter på databasen, dom flesta webbhotellen har en speciellt mapp där den ska ligga för att det ska fungera.

I så fall behöver du bara flytta databasen dit och ändra sökvägen i koden så att den stämmer.

Medlem sedan dec. 200346 inlägg
#9

Quid skrev:

Det verkar som om du inte har skrivrättigheter på databasen, dom flesta webbhotellen har en speciellt mapp där den ska ligga för att det ska fungera.

I så fall behöver du bara flytta databasen dit och ändra sökvägen i koden så att den stämmer.

Efter att jag dubbelkollat mot webbhotellet, fick jag följande svar:
Det var filen som inte ärvt rättigheterna från mappen.
Nu satte vi rättigheterna direkt på filen istället.

Nu funkar det. Frusterande att man ska behöva lägga ner tid på sånt här... Tack alla ni som engagerat er!

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