webForumDet fria alternativet

Sökvägen rätt, men ändå inte.

ASP

13 svar · 369 visningar · startad av Rodan

Medlem sedan juli 20021 523 inlägg
Frågan#1

Hejsan

Flera år sen jag pillade med ASP, har glömt en del.

Jag får detta felmeddelande.

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x6cc Thread 0xf0c DBC 0x111be94 Jet'.
/add_member.asp, line 5

Rad 5:
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("ahhhcool/members.mdb")&";pwd=xxxxxx"

Har testat med ../ahhcool, funkar inte.
Databasen ligger här: C:\Inetpub\wwwroot\ahhhcool
och filen ligger i root katalogen.

När jag skriver ut variablen, får bara False på den.

Så nu undrar jag, är det fel på rättigheterna?

Nästan skämmigt, kunde sånt här förut
:r
Tack på förhand!

Medlem sedan jan. 2005296 inlägg
#2

testa med denna, funkar nog lite bättre..

Connect.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("ahhhcool\members.mdb")&";pwd=xxxxxx"

Mvh //Darek

Medlem sedan juli 20021 523 inlägg
#3

Funkar fortfarande inte :l

Det är helt skumt...

Medlem sedan jan. 2005296 inlägg
#4

Rodan skrev:

Funkar fortfarande inte :l

Det är helt skumt...

jag har provat detta nu, du säger asså att att dina filer ligger i C:\Inetpub\wwwroot ?
och din databas i C:\Inetpub\wwwroot\ahhhcool ?
jag provade följande och den funkande utmärkt, måste vara &";pwd=xxxxxx" raden det är fel på.. men funkar inte nedstående så måste det vara något annat som är fel i din kod..
förresten, du har ändrat så du har läs och skrivbehörighet till mappen ahhhcool som ligger i din wwwroot??

Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ahhhcool\members.mdb")

Mvh //Darek

Medlem sedan juli 20021 523 inlägg
#5

Nepp, inget funkar...
Jag har läs och skrivbehörghet på mappen ahhhcool.

Börjar bli knepigt.

Medlem sedan apr. 20022 743 inlägg
#6

Vad får du om du skriver ut Server.MapPath("ahhhcool/members.mdb")?

Response.Write Server.MapPath("ahhhcool/members.mdb")
Medlem sedan juli 20021 523 inlägg
#7

Poffe skrev:

Vad får du om du skriver ut Server.MapPath("ahhhcool/members.mdb")?

Response.Write Server.MapPath("ahhhcool/members.mdb")

Får false, men har nu skapat en helt ny databas, funkar fint nu...

Förutom att jag inte kan skriva i den.. :x

Cannot update. Database or object is read-only.

Jag är inloggad som administratör men kan inte ändra read only funktionen i den mappen :l

Medlem sedan juli 20021 523 inlägg
#8

Funkar prima nu, tack alla!

Medlem sedan feb. 200112 078 inlägg
#9

Dashi skrev:

testa med denna, funkar nog lite bättre..

Varför skulle den göra det? :)

Rodan & Dashi » Ett litet tips bara; använd hellre OLEDB än den gamla Access-drivrutinen som är både äldre och mycket sämre.

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\data\foobar.mdb;User Id=foo;Password=bar;"

http://www.connectionstrings.com

Medlem sedan jan. 20013 582 inlägg
#10

:)
Hej!

Kanske är lite off topic och i fel forum, men...

Har läst på flera ställen att man ska använda

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\data\foobar.mdb;User Id=foo;Password=bar;"

Hellre än:

"Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("ahhhcool\members.mdb")&";pwd=xxxxxx"

Vad skiljer???

Och vilket är att föredra; ovanstående eller DSN???

Mvh

Medlem sedan feb. 200112 078 inlägg
#11

Du skall absolut använda OLEDB (Jet) uteslutande i din kommunikation med Access-databaser, när du har möjlighet, vilket du i stort sett alltid har. Den är mycket snabbare och mer stabil än den gamla Access-drivern, vissa säger upp till mer än 10 ggr, men det är siffror som jag själv inte har kollat. Det jag med säkerhet kan säga är att du märker skillnad, om man skruvar upp "volymen" lite.

Jag anser att en DSN-lös koppling är det bästa alternativet, eftersom du kan flytta din applikation till vilken server som helst med rätt stöd och sen är det bara att köra. Med en DSN-koppling måste denna återskapas på varje server som applikationen skall "installeras" på, något som du t.ex. väldigt sällan kan göra själv på ditt webbhotell.

Det som skulle vara en fördel med en DSN är väl t.ex. ifall du vill dela databasen mellan flera olika applikationer som är separerade mellan varandra fast fortfarande på samma maskin, och bara vill ha ett ställe att ha t.ex. sökväg på. (Inte för att den ändras så ofta kanske, men som jag sa; det var det jag kunde komma på ;))

Medlem sedan jan. 20013 582 inlägg
#12

:)

Tack för det!

en ska till bara; Hur skiljer sig prestandan mellan JET och DSN??

Mvh

Medlem sedan feb. 200112 078 inlägg
#13

Ja, alltså det går väl inte riktigt att säga så, eftersom det inte riktigt är samma sak.

Eftersom en DSN-koppling är av typen ODBC, som står för Open DataBase Connectivity, så skulle jag med största säkerhet gissa på att en DSN-lös databaskoppling med OLEDB Jet-drivrutinen är snabbare än en DSN-koppling. OLEBD är mer "lågnivå" (läs: hardcore :p) än ODBC.

Medlem sedan jan. 20013 582 inlägg
#14

:)
Oki!

Tack för det!
(Ska ändra till en JET drivrutin nu.... ;) )

Mvh

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)