Just nu i M3-nätverket
Gå till innehåll

Error 80004005 - ASP exekveras inte?


Roger W

Rekommendera Poster

Jag har en Windows server 2008 som utvecklingsserver. Alla MS-patchar är installerade. I Webbroten på denna har jag flera websajter utvecklade i Classic ASP med Vbscript.

Alla sajter jobbar mot olika MSACCESS-databaser via ODBC. Jag använder parameteriserade queries har inkluderat filen "adovbs.asp"

 

För kanske tre veckor slutade alla websajter att fungera.

Då queryn exekveras ger alltså SAMTLIGA sajter felmeddelandet:

 

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

 

Detta kom alltså helt spontant. Jag har gjort några enkla sidor och kan konstatera att servern nu inte exekverar någon kod alls.

 

Jag hittade en länk som klockrent beskriver mitt problem:

http://social.technet.microsoft.com/Forums/windowsserver/en-US/db70011d-a1a0-4abe-a203-ca112d3d79af/microsoftodbc-microsoft-access-driver-the-microsoft-jet-database-engine-cannot-open-the-file?forum=winservergen

och jag har testat ALLT. Anrop utan ODBC med DSN-less connection. Kollat rättigheter på mappar och filer, letat efter .lck-filer mm mm utan resultat.

 

Jag har definitivt slagit huvudet i taket. Har någon varit med om detta? Kan det vara någon security patch som ställt till det?

Grejen är att samtliga sajter slutade fungera på samma gång, vilket får mig att misstänka IIS (7.5), ODBC eller Jet-motorn. Dessutom fungerar allt som det skall i min W7-laptop där jag också har IIS 7.5..

 

Jag installerade om en Server 2003 och flyttade över allt dit. Till att börja med började mina sajter fungera igen. Efter... ett par veckor: Samma problem.

 

Oavsett vilket: Jag är lätt desperat...

 

Visste inte var jag skulle lägga denna posting. Ha överseende med det, är ni bussiga!

 

Roger

Länk till kommentar
Dela på andra webbplatser

Snabbt svar, innan vi går vidare, som kanske inte är det du vill höra  ^_^

Du har inte funderat på att migrera databaserna till SQL Server (Express)?

Länk till kommentar
Dela på andra webbplatser

Absolut. Jag har laddat ner och installerat Express 2008, lyckats exportera tabellerna till Express, men inte lyckats nåt vidare efter det. Förstår inte (ännu) hur man gör, riktigt. Jobbat mycket tidigare med MySql, och saknar adminverktyg för Express av samma sort som MySql har.

Har du tips på någon tutor vore jag tacksam.

Det här är två gamla ök jag fått slängda i knäet. Som nu alltså på nåt mystiskt sätt, och samtidigt, slutade fungera.

Länk till kommentar
Dela på andra webbplatser

Ah, du måste välja "Express with Tools"-varianten för att få med SQL Management Studio.

 

Här kan du ladda ned Microsoft SQL Server 2014 Express Express with Tools (eller bara SQL Server Management Studio Express om du så vill).

http://msdn.microsoft.com/en-us/evalcenter/dn434042.aspx

(gratis men kräver registrering)

 

 

Ok. Tyvärr är det så att webapplikationen som jag har fått i knäet hämtar data från en MS Access-applikation med formulär och grejer. Så jag sitter f.n. fast i Access till den andra parten kommer på idén..

Så problemet som dök upp är lite trist. Jag kan inte påverka Databasen just nu.

 

Tror du att det är Access som plötsligt slutat fungera? Jag kan öppna databaserna med Access utan problem, och tills för tre veckor sedan fungerade det perfekt ända tills samtliga ASP-sajeter som jobbade mot Accesstabeller lade ner verksamheten.

 

Har dock laddat ner Express 2014 och installerat den..

Länk till kommentar
Dela på andra webbplatser

Antar att du har kollat så att det inte är någon annan tjänst eller användare som öppnar filen när detta uppstår?

Kolla med process explorer om något annat program eller tjänst har öppnat filen.

http://www.techsupportalert.com/content/how-find-out-which-windows-process-using-file.htm

 

Kolla (och ev. uppdatera) även version av ODBC driver (bör vara 4 eller senare)

http://www.webwiz.co.uk/kb/asp-tutorials/ODBC-drivers.htm

 

Se denna kb ang. rättigheter:

http://support.microsoft.com/kb/174943/sv

 

Kolla även rättigheter på temp-mappen

http://support.microsoft.com/kb/315456/sv

 

 

Edit: Hittade en bra sammanställning av saker att kolla:

http://www.easysoft.com/support/kb/kb00686.html

Länk till kommentar
Dela på andra webbplatser

Blir galen.

Rättigheter: Redan kollat! ODBC: Redan kollat! Annan öppnat filen: Kollat!

Kollat alla dina förslag. MDAC heter Windows Data Access Components (WDAC) i Server 2k8 och "is part of the operating system and cannot be downloaded from Microsoft Downloads as the previous releases".

 

Grejen är alltså att raset kom trots att INGEN rört i datorn. Över natten, bokstavligt talat.

 

Installerade om operativet på 2003-servern. Nu fungerar sajten igen.. 2008:an ligger nere fortfarande.

Länk till kommentar
Dela på andra webbplatser

Ett skott i mörkret...

Bägge sajerna (som slutat fungera, och gjorde det samtidigt) snurrar i var sin Applikationspool. Till saken hör också att jag har en virtuell mapp i sajtroten (Exempel: \wwwroot\minsajt\includes\) i vilken all kod finns. Denna kod anropas med hjälp av INCLUDE VIRTUAL från index.asp beroende på vilken OID som för tillfället är aktiv. Den virtuella mappen är INTE inkluderad i Applikationspoolen.

Kan detta vara ett problem? Måste all kod som hör till en sajt inkluderas i Applikationspoolen?

 

Hittar ingen info om detta någonstans.

 

Så här ser mappträdet ut på den ena av sajterna:

/wwwroot/sajten/ (Roten för sajten. Innehåller en "portal" i vilken man kan välja "Intern" eller "Extern")

/wwwroot/sajten/intern/ (endast en fil, index.asp)

/wwwroot/sajten/extern/ (endast en fil, index.asp)

/wwwroot/sajten/includes/ (Virtuell mapp. Delad kod i include-filer)

/wwwroot/sajten/css/ (Virtuell mapp. Delad kod)

/wwwroot/sajten/images/ (Virtuell mapp. Delade images)

 

/intern/index.asp resp /extern/index.asp använder alltså samma kod från den viruella mappen /wwwroot/sajten/includes/ via kommandot INCLUDE VIRTUAL.

 

En sak till: Accessfilerna finns i C:\databaser och anropas mha ODBC. Testat "DSN-less" anrop utan resultat.

 

Jag har även gjort en ytterst enkel ASP-testsida:

<HTML>

Test 1 <br>

<% Response.Write("Test 2"&"<br>") %>

Test 3

</HTML>

Test 1 skrivs ut. Inte Test 2 eller Test 3..

 

Roger

Länk till kommentar
Dela på andra webbplatser

Jag har även gjort en ytterst enkel ASP-testsida:

<HTML>

Test 1 <br>

<% Response.Write("Test 2"&"<br>") %>

Test 3

</HTML>

Test 1 skrivs ut. Inte Test 2 eller Test 3..

 

Roger

 

Det där låter ju skumt, och alltså inte enbart kopplat till databaserna...

Hur ser det ut i eventviewer-loggarna när du kör ett asp-skript?

Länk till kommentar
Dela på andra webbplatser

Det där låter ju skumt, och alltså inte enbart kopplat till databaserna...

Hur ser det ut i eventviewer-loggarna när du kör ett asp-skript?

 

Nä, det är väl vad jag också misstänkt. Dessutom fungerar allt perfekt hemma i min utvecklingmaskin, en laptop med samma IIS.

I vilken av loggarna skall jag titta: Se bifogat skärmklipp.

 

Roger

post-66716-0-26796600-1403350587_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Det bör (lite beroende på hur det är konfigurerat) finnas under Windows Logs > Application.

 

Se även: https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/422e625b-debd-449a-bb24-f885a2df5f8c.mspx?mfr=true

Jag blir galen. Nu fungerar plötsligt min lilla skitkod som INTE fungerade i går.

 

Men queries mot databasen ger inga resultat. Tittar jag i loggen hittar jag bara ett ERROR, och det ser intressant ut. Se bild..

Queryn som inte exekveras fyller på ett tiotal Sessionsvariabler. "SELECT * from SETUP"..

Jag kollade vidare på http://technet.microsoft.com/en-us/library/05e27889-b729-4a98-bae3-e91f8b204c5e.aspx, Event ID 10 — Event Filter Query Functionality, men tyvärr säger sidan inte särskilt mycket. Jag kan WS för dåligt för att snappa innebörden.

Har du koll på vad det är för felmeddelande?

 

Längre bak i loggen har jag även ett antal ODBC-fel: The description for Event ID 0 from source ODBC cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. Event ID 0, alltså. Ingen info tillgänglig.

 

 

OBS: Det är datorn med Server 2008 jag fixar i nu. 2003:an som också slutade fungera fick nytt operativ och då började den fungera igen. Men så var det ju förra gången också...

 

Roger

post-66716-0-21696400-1403359021_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Jag byggde vidare min lilla skitkod med en Query och en enkel utskriftsloop blev det annorlunda:

 

Skriver jag så här:

<body>
Hej 1
<%Response.Write("Hej 2")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "ODBCDs"
SQLQuery = "SELECT * FROM namntab"
Set Setup = OBJdbConnection.Execute(SQLQuery)
Do While Not Setup.EOF ()
    Efternamn=Setup("efternamn")
    Response.write("Efternamn: " & Efternamn & "<br>")
    Setup.MoveNext
Loop %>
Hej 3
</body>

 

... skrivs "Hej 1" och "Hej 2" ut. INTE "Hej 3". Flyttar jag "Hej 2" till omedelbart efter LOOP skrivs bara "Hej 1" ut..

Och givetvis: Inget resultat alls från Queryn..

 

Som att försöka fånga en tvålbit i en balja vatten..

 

R

Länk till kommentar
Dela på andra webbplatser

Jag kollade sidan. Allting är Checkat sedan tidigare, och ungefär en miljon gånger..

 

Fortsatte testa utan Datasuorcen. Hårdkodade sökvägen till Databasen.

MdbFilePath = "C:\databaser\tabellen.mdb"
OBJdbConnection.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

 

Samma resultat.

 

R

 

PS

Så här ser sidans källkod ut då den exekverats..:

 

<!DOCTYPE html>
<html lang="se">
<head><title></title></head>
<body>
Hej 1
Hej 2

Länk till kommentar
Dela på andra webbplatser

Knepigt!  :angry:

 

Du kan ju testa Jet 4: 

OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & MdbFilePath
Länk till kommentar
Dela på andra webbplatser

 

Knepigt!  :angry:

 

Du kan ju testa Jet 4: 

OBJdbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & MdbFilePath

Tyvärr lika död som tidigare..

Reagerar inte ens då jag medvetet stavar fel:

OBJdbConnection.Open "Provvvvvider=Mööcrosoft.Jet.OLEDB.999.0;data source=" & MdbFilePath

 

Roger

Länk till kommentar
Dela på andra webbplatser

Om man i alla fall kunde få ASP att leverera någon typ av felmeddelanden/debug-kod vore saker och ting mycket enklare..

Hatar det här.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...