Avatar billede dk_gryf Nybegynder
26. maj 2004 - 19:17 Der er 15 kommentarer og
1 løsning

hvordan klarer jeg denne: MapPath method must be a virtual path

Hej
Jeg har en lille privat eshop som jeg har flyttet til en anden udbyder og efter geninstalleringen før jeg følgende fejl:
Server.MapPath() error 'ASP 0172 : 80004005'

Invalid Path
/Connections/Cart.asp, line 8
The Path parameter for the MapPath method must be a virtual path. A physical path was used.

Det er korrekt, at det er den fysiske adresse som står i cart.asp, men hvordan får jeg oprettet en virtual path???

På forhånd tak.
Mvh
Mogens
Avatar billede pfp Nybegynder
26. maj 2004 - 20:34 #1
Prøv lige at poste lidt kode. hvad giver du din Mappath som parameter?
Avatar billede dk_gryf Nybegynder
26. maj 2004 - 21:34 #2
Her er hele indholdet af Cart.asp:

<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
'MM_Cart_STRING = "dsn=eshop4all;"
MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("d:\kunder\eshop4alldk\database\eshop4all.mdb") & ""

%>
<%
SetLocale("da")
%
Avatar billede pfp Nybegynder
26. maj 2004 - 21:39 #3
Hvor ligger din Cart.asp i forhold til selve databasen?

Du skal lave det noget ala:
<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
'MM_Cart_STRING = "dsn=eshop4all;"
MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("d:\kunder\eshop4alldk\database\eshop4all.mdb") & ""

%>
<%
SetLocale("da")
%

eller også skal du fjerne mappath hvis du alligevel har en fast fysisk sti.
Avatar billede pfp Nybegynder
26. maj 2004 - 21:40 #4
hov jeg glemte lige at rette i den. Jeg mente sådan her:

MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/eshop4all.mdb") & ""
Avatar billede dk_gryf Nybegynder
26. maj 2004 - 22:24 #5
den ligger på samme niveau som htdocs - alle filer og libraries ligger i htdocs.
Avatar billede pfp Nybegynder
26. maj 2004 - 22:30 #6
Jeg forstår dig ikke helt. Jeg spørger hvor databasen ligger i forhold til din asp fil.

Hvis databasen ligger et niveau længere oppe en asp filen gør du sådan her:MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../database/eshop4all.mdb") & ""

Du tilføjer så "../" for hvert niveau du vil op...

Hvis niveauet er længere nede gør du sådan her:
MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mappe/undermappe/undermappe2/database/eshop4all.mdb") & ""

Håber du kan se ideen i det.
Avatar billede dk_gryf Nybegynder
26. maj 2004 - 22:40 #7
asp filerne ligger i htdocs og databasen i libr. database som ligge på samme niveau som htdocs.
dvs. at man skal op af htdocs og ned i database til databasen..
jeg høber at du forstår.
Avatar billede pfp Nybegynder
26. maj 2004 - 22:49 #8
Okay, det vil sige du skal bruge ../database = et niveau op og så ind i database folderen..jvf. tidligere beskrevet princip.

Dermed burde det fungere således:
MM_Cart_STRING = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../database/eshop4all.mdb") & ""
Avatar billede dk_gryf Nybegynder
27. maj 2004 - 11:21 #9
Så fik jeg åbenbart ramt rigtigt, men nu kommer følgende besked:
Unrecognized database format 'd:\kunder\eshop4alldk\database\eshop4all.mdb'.
+
/Include/Shopinfo.asp, line 3

her er de første linier/afsnit i shopinfo.asp

<%
set rsShopInfo = Server.CreateObject("ADODB.Recordset")
rsShopInfo.ActiveConnection = MM_Cart_STRING
rsShopInfo.Source = "SELECT Shopname, Description, SearchWords, ReturnToCart,Tax,  Closed  FROM Setup"
rsShopInfo.CursorType = 0
rsShopInfo.CursorLocation = 2
rsShopInfo.LockType = 1
rsShopInfo.Open()
rsShopInfo_numRows = 0
%>

Så hvad nu??
Avatar billede pfp Nybegynder
27. maj 2004 - 11:41 #10
Hvis den kommer med en fejl hvor den skriver noget med d: har du jo ikke fjerne den fysiske sti...!
Avatar billede pfp Nybegynder
27. maj 2004 - 11:41 #11
Eller?
Avatar billede dk_gryf Nybegynder
27. maj 2004 - 12:20 #12
Den er blevet rettet og som du kan se, er det jo ikke stien som er problemet, men database format som nu giver error.

Pathen ser således ud:../../database/eshop4all.mdb

den ligger i:htdocs/connections/cart.asp - pathen er jo korrekt nok og kan åbenbart også finde vejen til database, men åbenbart ikke acceptere databasen - eller?
Avatar billede dk_gryf Nybegynder
28. maj 2004 - 10:41 #13
Det ser ud til, at min afsluttende kommentar ikke er blevet registreret, men sagen er iorden nu - jeg genoploadede min database og så fungerede det som det skulle.
Opret venligst et svar så du kan få dine point.

Et Tillægsspørgsmål:
Hvis jeg konverterer min databse til MySQL - hvad sker der så med ASP
programmeringen - kan den umiddelbart bruges eller skal der ny programmering til?

Tak fo hjælpen
Mogens
Avatar billede pfp Nybegynder
28. maj 2004 - 11:10 #14
svar
Avatar billede dk_gryf Nybegynder
28. maj 2004 - 11:16 #15
Får jeg lige et svar på mit tillægsspørgsmål....
Avatar billede pfp Nybegynder
28. maj 2004 - 11:20 #16
Du kan stort set godt anvende samme ASP programmering. Det er stort set kun ved arbejde med datoer at der er lidt forskel..men i store hele er det samme.
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