Avatar billede zetn Nybegynder
06. marts 2005 - 13:40 Der er 10 kommentarer og
1 løsning

Sti til database

Hey, jeg har et problem med en database inc fil, hvor jeg skriver stien som ../db.mdb

men jeg får følgende fejl:

The '..' characters are not allowed in the Path parameter for the MapPath method.

Hva gør jeg lige her?

Jacob
Avatar billede kalp Novice
06. marts 2005 - 13:44 #1
må vi se SQL sætningen?
Avatar billede busschou Praktikant
06. marts 2005 - 13:45 #2
så må du jo fjerne .. karaktererne ;o)
Avatar billede eagleeye Praktikant
06. marts 2005 - 13:51 #3
Så må du tilpasse din connection string så du ikke bruger .. i stien.

1. Du kan angive stien fra www root folderen  /folder1/folder2/dbnavn.mbd

2. Hvis db folderen ligger før www root som den gør nogle steder må du udskrive stien til www root foldren og bruge den som connection string. Udskriv sådan her:
response.write server.mappath("/")

Hvis den skriver:  d:\homes\xxx\domænenavn\wwwroot

Så skal du skifte wwwroot med navnet på folderen databasen ligger i. Og ikke bruger server.mappath i connection strnig: d:\homes\xxx\domænenavn\dbfolder\db.mbd
Avatar billede zetn Nybegynder
06. marts 2005 - 13:58 #4
Denne streng ligger i mappen /admin/index.asp


Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("..\db.mdb")
Conn.Open DSN

Databasen ligger i hovedmappen, altså den før /admin/
Avatar billede eagleeye Praktikant
06. marts 2005 - 13:59 #5
Prøv at rette:

DSN = DSN & "DBQ=" & Server.MapPath ("..\db.mdb")

Til dette hvis admin foldren ligger i rooten.:

DSN = DSN & "DBQ=" & Server.MapPath ("/admin/db.mdb")
Avatar billede eagleeye Praktikant
06. marts 2005 - 14:03 #6
eller prøve denne: 
DSN = DSN & "DBQ=" & Server.MapPath ("../db.mdb")

husk du skal brugt / når man skriver en relativ sti men \ til en fysisk sti.
Avatar billede zetn Nybegynder
06. marts 2005 - 14:43 #7
Når jeg forsøger med /admin/db.mdb skriver den:

Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x280 Thread 0x490 DBC 0xf462f4c Jet'.

og  med ../

Disallowed Path Characters

/admin/inc/db.inc, line 5

The '..' characters are not allowed in the Path parameter for the MapPath method.
Avatar billede zetn Nybegynder
06. marts 2005 - 14:54 #8
Nu gør jeg så jeg ligger databasen i admin mappen, og så fra root skriver admin/db.mdb - og det virker nu, dog når jeg så prøver og kalde databasen fra admin med bare db.mdb får jeg denne fejl:

Handlingen blev annulleret.
/admin/inc/db.inc, line 6
Avatar billede meelby Nybegynder
06. marts 2005 - 20:33 #9
Indsæt funktionen i database.inc:

'------------Kald database til siden ----------
Set rs = Server.CreateObject("ADODB.RecordSet")
Function DB(database)
DB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".") & "\" & Database & ";Jet OLEDB:Database Password=XXX;admin"
END Function

Og så kan du åbne databsen i alle asp-siderne med:
'------------Åben database ----------
tempConn=DB("Include/DB/MinDatabase.mdb")
rs.Open sql,TempConn,3,3,1   

Bare husk at stien nu skal angives fra roden af din website!
Avatar billede eagleeye Praktikant
06. marts 2005 - 20:48 #10
ok, så skal du angive det på denne måde:

DSN = DSN & "DBQ=" & Server.MapPath ("/admin/db.mdb")


Den fejl du får:
Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x280 Thread 0x490 DBC 0xf462f4c Jet'.

betyder connection virker dog kan den ikke finde database filen så prøve skrive hvordan stien ser ud fra root? og tjek at filnanvet passer.
Avatar billede busschou Praktikant
08. maj 2005 - 09:58 #11
zetn >> kommet videre? :O)
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