Avatar billede peterbusk Nybegynder
27. september 2001 - 13:42 Der 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\");

Nu dur ikke en skid.

Hvad kan jeg gøre?
Avatar billede tommygronhoj Nybegynder
27. september 2001 - 13:50 #1
Og du kan overhovedet ikke flytte den
\"evt til andet drev\"
Avatar billede peterbusk Nybegynder
27. september 2001 - 13:52 #2
\"D:\\web\\vibnt072\\database\\\"

Dette er stien hvor man har skrive rettigheder hos min udbyder.

/peter
Avatar billede tommygronhoj Nybegynder
27. september 2001 - 13:54 #3
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
Avatar billede kichian Nybegynder
27. september 2001 - 13:57 #4
Hvis du kender den fysiske placering, er der vel ikke brug for Server.MapPath.

Brug i stedet:
con.Open(\"PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=D:\\web\\vibnt072\\database\\tekster.mdb;\");
Avatar billede tmceu Praktikant
27. september 2001 - 14:09 #5
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.
Avatar billede peterbusk Nybegynder
27. september 2001 - 14:24 #6
--= 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)
%>

Hvad går i ged?

/peter
Avatar billede tmceu Praktikant
27. september 2001 - 15:16 #7
Så bør den skulle se sådan ud:

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\");
Avatar billede peterbusk Nybegynder
27. september 2001 - 15:21 #8
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\'.

/artikel/Default.asp, line 28
Avatar billede tmceu Praktikant
27. september 2001 - 15:31 #9
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 :-)
Avatar billede peterbusk Nybegynder
27. september 2001 - 15:39 #10
Tabellen hedder tekster.mdb,
indeholder 2 kolonner : ID og html

Desværre ingen open.
Avatar billede tmceu Praktikant
27. september 2001 - 16:13 #11
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.
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