01. april 2007 - 19:29Der er
27 kommentarer og 1 løsning
Omskriv stien til min database
Hejsa Experten.dk brugere,
Er der nogle som kan hjælpe mig med af omskrive min db sti, da jeg lige har installeret iis på min computer, og skal have min asp side med database til af virke.
Her er stien til min database, som skal "skrives" ind i mine 2 db connections forneden: C:\Inetpub\wwwroot\db\xxx.mdb
Første db connect: <% Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/db.mdb") %>
Anden db connect: <%
Dim objConn Sub OpenDataBase(strDBPath) Dim strProvider strProvider = "" strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & Server.MapPath(strDBPath) & ";" strProvider = strProvider & "Persist Security Info=False" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strProvider End Sub Sub CloseDataBase objConn.Close Set objConn = Nothing End Sub
Dim objConn Sub OpenDataBase(strDBPath) Dim strProvider strProvider = "" strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & Server.MapPath("C:/Inetpub/wwwroot/db/db.mdb") & ";" strProvider = strProvider & "Persist Security Info=False" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strProvider End Sub Sub CloseDataBase objConn.Close Set objConn = Nothing End Sub
%>
For så skriver den fejlen: Fejltype: Server.MapPath(), ASP 0172 (0x80004005) Parameteren for stien for metoden MapPath skal være en virtuel sti. Der blev brugt en fysisk sti. /admin/DBconn.asp, line 8
Jamen det var da noget vrøvl. Man skal ikke skrive Server.MapPath("C:/Inetpub/wwwroot/db/xxx.mdb") men bare "C:/Inetpub/wwwroot/db/xxx.mdb" Så i dit tilfælde 2 skal du vel to ting (selv om jeg igen ikke ved om det er den eneste rigtige løsning):
Dim objConn Sub OpenDataBase("C:/Inetpub/wwwroot/db/db.mdb") Dim strProvider strProvider = "" strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & strDBPath & ";" strProvider = strProvider & "Persist Security Info=False" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strProvider End Sub Sub CloseDataBase objConn.Close Set objConn = Nothing End Sub
%>
Men den skriver dette her: Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F2) Id var ventet /admin/DBconn.asp, line 4, column 17 Sub OpenDataBase("C:/Inetpub/wwwroot/db/db.mdb") ----------------^
Må ærlig indrømme af jeg ikke lige er helt skarp i lige dette her.
Så er den ændret, men for stadig denne her: Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F2) Id var ventet /admin/DBconn.asp, line 4, column 4 Sub Call OpenDataBase("C:/Inetpub/wwwroot/db/db.mdb") ---^
Jeg er altså ikke helt med nu hvad du mener, da jeg mener jeg har ændret det som du har sagt.
Altså min include dbconn.asp ser sådan her ud: <%
Dim objConn Sub Call OpenDataBase("C:/Inetpub/wwwroot/db/xxx.mdb") Dim strProvider strProvider = "" strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & Server.MapPath(strDBPath) & ";" strProvider = strProvider & "Persist Security Info=False" Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open strProvider End Sub Sub CloseDataBase objConn.Close Set objConn = Nothing End Sub
%>
Min anden include config fil ser sådan her ud: Call OpenDataBase("C:/Inetpub/wwwroot/db/xxx.mdb")
Og fejlen jer for: Fejltype: Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F2) Id var ventet /admin/DBconn.asp, line 4, column 4 Sub Call OpenDataBase("C:/Inetpub/wwwroot/db/xxx.mdb") ---^
------------------- 01/04-2007 22:27:38 Du skal lade
Sub OpenDataBase(strDBPath)
blive stående. ------------------- Det betyder altså at den linie skal stå som oprindeligt - ikke ændre. Det er aldrig blevet foreslået, og da du selv gør det, gør jeg opmærksom på at du ikke skal gøre det.
------------------- 01/04-2007 21:18:53 1) Kalde funktionen: OpenDataBase("C:/Inetpub/wwwroot/db/xxx.mdb") ------------------- Du viser senere hvordan den kaldes. Man behøver ikke call, men man må, altså, som du siden viser: Call OpenDataBase("C:/Inetpub/wwwroot/db/xxx.mdb")
Hvad skal du da bruge det til? Hvis du skal lære ASP, så start da med noget simplere. Og så er det rimeligt meget gammeldags at bruge ASP - i hvert fald ikke til noget nyt i disse tider med så mange andre, og bedre, muligheder.
Så er jeg med Erik, men så skriver den nu: Fejltype: Microsoft JET Database Engine (0x80004005) Handlingen skal bruge en opdaterbar forespørgsel. /admin/sell.asp, line 14
Hov nej, jeg mener at den skriver denne her fejl: Fejltype: Server.MapPath(), ASP 0172 (0x80004005) Parameteren for stien for metoden MapPath skal være en virtuel sti. Der blev brugt en fysisk sti. /Default.asp, line 70
Jeg har tricket den ved at skrive: Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/db.mdb") istedetfor en c:\blabla sti
Jeg kan se min side og alt mit data bliver hentet som det skal fra min database... Har det aller sidste problem, som jeg ikke lige helt ved hvad er:
Den bliver ved med at komme med denne her fejl, når jeg vil gemme i min database: Fejltype: Microsoft JET Database Engine (0x80004005) Handlingen skal bruge en opdaterbar forespørgsel. /admin/status.asp, line 14
Altså: (Handlingen skal bruge en opdaterbar forespørgsel.)
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.