Tänk på att skriva kod inom [ kod]-taggar så blir det lättare att läsa här på wF.
Man kan inte ha virtuell sökväg som dbq.
Testa detta.
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("../../database/srb.mdb")
7 svar · 576 visningar · startad av supercajo
har gjort följande connection till min data bas:
då den ligger i en katalog, två nivåer upp, och sen väl i huvudniån, en in i mappen databases, utanför rootkatalogen....
<%
Set Connect = Server.CreateObject("ADODB.Connection")
>Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=../../database/srb.mdb"<
Addera = "SELECT * FROM Anstalld"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("namn") = Request.Form("namn")
RecSet("adress") = Request.Form("adress")
RecSet.Update
RecSet.Close
Connect.Close
%>
Då jag har denna kod, får jag följande felmeddelande...:
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 0x1ac8 Thread 0x3c30 DBC 0x16bd244 Jet'.
/beta/add.asp, line 12
Jag fattar att det är något på rad tolv, vilket vill säga det som är > & <.
är jag dum? eller blind?
Tänk på att skriva kod inom [ kod]-taggar så blir det lättare att läsa här på wF.
Man kan inte ha virtuell sökväg som dbq.
Testa detta.
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("../../database/srb.mdb")
Kör du på egen server? Normalt sett är Parent paths avstängt av säkerhetsskäl men då borde du fått ett annat meddelande.
'80004005' låter som ett rättighetsproblem. Att du inte har skrivrättigheter på katalogen som databasen ligger i.
Om du söker lite på webforum får du säkert upp fler som har haft samma problem.
Flyttad från Programmering - Övrigt.
1. Först och främst; byt raden mot:
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../../database/srb.mdb")
2. Felet beror sannolikt på att 1) databasfilen hittades inte eller 2) du har inte rättigheter nog. Jag kommer inte ihåg vilket, men gissar på 1.
Vill man vara riktigt petig ska det faktiskt vara:
Server.Mappath("\") & "..\..\database\srb.mdb"
Detta för att asp/iis/apache ska ha vett nog att utgå ifrån rooten av websidan och inte den mapp där filen råkar befinna sig.
Varför måste man konkatenera?
Jesper T skrev:
Varför måste man konkatenera?
Det var den enda lösningen som fungerade för en faslig massa år sedan. Kommer inte ihåg vem av alla gurus det var som hjälpte mig då, annars hade jag hänvisat till deras mäktiga allvetande.
Eftersom asp inte utvecklats efter 3.0 så antar jag att folk fortfarande kan ha samma problem, varför inte ta det säkra före det osäkra? ;)
Det var såhär att min applikation vägrade gå bakom wwwrooten om jag inte konkatenerade.