27. september 2001 - 13:42Der er
10 kommentarer og 1 løsning
Fejl i Database tilgang...
Jeg får følgende fejlmeddelelse:
\"Invalid Path
/artikel/Default.asp, line 28
The Path parameter for the MapPath method must be a virtual path. A physical path was used.\"
Original opsætning: var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"tekster.mdb\")+\";\"); var rs = con.Execute(\"SELECT Id FROM tekster\");
Hvis jeg benyttet ovenstående opsætning kan jeg godt læse fra databesen, men ikke skrive pga. databasens fysiske placering.
Ændret opsætning: var con = Server.CreateObject(\'ADODB.Connection\'); con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=\"+Server.MapPath(\"D:\\web\\vibnt072\\database\\tekster.mdb\")+\";\"); var rs = con.Execute(\"SELECT Id FROM tekster\");
ja mit svar bliver lidt tyndt men prøv at ta kontakt til din udbyder de må ku sende databasen til dig \"enten samlet eller fil for fil\" jeg ka sgu ikke lige se hva du har gjort galt men så igen måske kan andre
Blot lige for at uddybe kichian\'s næsten korrekte svar; du KAN ikke angive en fysisk sti sammen med server.mappath, hvis formål jo netop er at konvertere en virtuel sti til en fysisk. Og hvis du læser fejlmeddelelsen, er det faktisk også det den siger.
--= Nu ser den sådan ud =-- var con = Server.CreateObject(\"ADODB.Connection\") con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=D:\\web\\vibnt072\\database\\tekster.mdb;\"); var rs = con.Execute(\"SELECT Id FROM tekster\");
--= Fejlmeddelelse =-- Microsoft JET Database Engine error \'80004005\' Not a valid file name.
/artikel/Default.asp, line 28
--= Min udbyder foreskriver =-- <%Set Rs1 = Server.CreateObject(\"ADODB.Connection\") Rs1.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\\web\\vibntXXXX\\database\\navn.mdb\" %> <% sql = \"select * from tabelnavn\" Set eks1 = Rs1.execute(sql) %>
var con = Server.CreateObject(\"ADODB.Connection\") con.Open(\"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\\web\\vibnt072\\database\\tekster.mdb;\"); var rs = con.Execute(\"SELECT Id FROM tekster\");
Jeg fatter ikke hvad der er galt. Nu har jeg skrevet ovenstående men...
Fejl:
Microsoft OLE DB Provider for ODBC Drivers error \'80004005\' [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key \'Temporary (volatile) Jet DSN for process 0x424 Thread 0x294 DBC 0x2148004 Jet\'.
Du har vel ikke tilfældigvis et felt der hedder open i den tabel du prøver at åbne ? Du tror måske jeg er lidt syg i hovedet, men der er mening i galskaben :-)
Det lyder meget usandsynligt og måske virker det ikke, men prøv at ændre navnet på kolonnen ID til noget som ikke er et reserveret keyword i Access (kan ikke huske om ID er).
Jeg har engang læst en artikel om en udokumenteret fejl i Access, som giver en fejl i stil med den du har fået, i stedet for en SQL Syntax Error fejl, men vel at mærke kun på DSN less.
Synes godt om
Ny brugerNybegynder
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.