Avatar billede runberg Nybegynder
22. december 2005 - 10:10 Der er 12 kommentarer og
2 løsninger

Problemer med ASP include

Hey

I en undermappe på mit site har jeg en masse asp filer, hvori der skal åbnes en database, og senere skal denne forbindelse lukkes.

Jeg har derfor i mappen lavet endnu en mappe der hedder includes, og i denne mappe er der to filer: openDB.asp og closeDB.asp. OpenDB.asp ser ud som følger:

<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/projekt/database.mdb")
Conn.Open DSN
%>

Når jeg så skal have åbnet databasen i de andre filer, vil jeg mene at jeg blot kunne skrive:

<!-- #include file ="includes\opdenDB.asp"-->

.. Dette virker dog ikke :o(

Nogen der kan se mig hvad det er jeg gør galt ??

På forhånd tak!
Avatar billede peter_jensen Nybegynder
22. december 2005 - 11:07 #1
Vil tro du kan løse det ved at lade din DSN sti hedde "DSN = DSN & "DBQ=" & Server.MapPath("../database.mdb")
"
Avatar billede thesurfer Nybegynder
22. december 2005 - 11:07 #2
"\" bruges til lokale filer..

"/" bruges til online filer..

Prøv med: <!-- #include file ="includes/opdenDB.asp"-->

/theSurfer
Avatar billede thesurfer Nybegynder
22. december 2005 - 11:09 #3
Er det sådan, din stier ser ud?:

/cgi-bin/projekt/database.mdb
/cgi-bin/projekt/includes/opdenDB.asp

/theSurfer
Avatar billede thesurfer Nybegynder
22. december 2005 - 11:10 #4
glemte "filer.asp" (dvs, dine asp filer ligger her):

/cgi-bin/projekt/database.mdb
/cgi-bin/projekt/includes/opdenDB.asp
/cgi-bin/projekt/filer.asp

/theSurfer
Avatar billede runberg Nybegynder
22. december 2005 - 11:15 #5
Nej, mit site ser ud som følger:

/projekt/filer.asp
/projekt/includes/openDB.asp
/cgi-bin/projekt/database.mdb

Problemet er ikke i min database-forbindelse, for hvis jeg bare kører koden direkte i filen, altså uden at bruge include, fungerer koden perfekt. Det er kaldet til openDB.asp altså include filen der fejler.
Avatar billede runberg Nybegynder
22. december 2005 - 11:18 #6
Forresten, så har jeg nu prøvet at kalde inkludefilen med følgende:

<!-- #include file = "includes\opdenDB.asp"-->
<!-- #include file = "includes/opdenDB.asp"-->
<!-- #include virtual = "/projekt/includes/opdenDB.asp"-->
<!-- #include virtual = "\projekt\includes\opdenDB.asp"-->

- Ingen af ovenstående virker ??? - Include teksten er placeret som en del af min <body>, så fejlen bør heller ikke være her??
Avatar billede thesurfer Nybegynder
22. december 2005 - 11:27 #7
Så burde det virke med f.eks:

Server.MapPath("../database.mdb")

og

<!-- #include file = "includes/opdenDB.asp"-->

/theSurfer
Avatar billede runberg Nybegynder
22. december 2005 - 11:33 #8
Hvor ændre på mit kald til databasen??
Server.MapPath("/cgi-bin/projekt/database.mdb") må da netop være den korrekte måde at kalde databasen på, uanset hvor i filsystemet man er placeret.

Hvorfor kaldet til include-filen så ikke virker er dog temmeligt mystisk. Må hellere dobbelt tjekke med min udbyder at SSI er understøttet.
Avatar billede thesurfer Nybegynder
22. december 2005 - 11:37 #9
Du kan jo bare lave en test-fil:

<%
response.write "include + SSI virker"
%>

gem den i samme mappe, som "opdenDb.asp", og brug samme include (lav filnavnet om til navnet på din test fil)

Kør dit script.. hvis include + SSI er iorden, skulle den gerne skriver "include + SSI virker"

/theSurfer
Avatar billede runberg Nybegynder
22. december 2005 - 11:59 #10
SSI virker fint på sitet .. Fatter ikke hvad der går galt her ?=#¤%&%#" !!!
Avatar billede thesurfer Nybegynder
22. december 2005 - 12:03 #11
Hvordan ser din kode ud nu?

/theSurfer
Avatar billede runberg Nybegynder
22. december 2005 - 12:45 #12
Koden er som følger:

I mappen /projekt/ har jeg en fil, hvor følgende er sat ind:
<!-- #include file = "includes/openDB.asp"-->

I Mappen /projekt/includes/ har jeg openDB.asp som ser ud som følger:
<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/projekt/kompetancer.mdb")
Conn.Open DSN
%>

Min database kaldet kompetancer.mdb ligger i mappen /cgi-bin/projekt/

Jeg har nu gennemtjekket alt, og er sikker på at alt er som det skal være, så afventer pt. svar fra min udbyder. Selvom jeg fik SSI til at virke før, kan de have låst nogle biblioteker, eller have sat begrænsninger på anden måde. Efter at have surfet nettet tyndt, er jeg sikker på at min kode er korrekt. Er samtidig igang med at uplade mit site til en anden server, for at se om ikke det virker der ...
Avatar billede runberg Nybegynder
02. januar 2006 - 14:53 #13
thesurfer>> Kom uden jom problemet på anden vis. Smid et svar, så smider jeg lidt point som tak for hjælpen! :o)
Avatar billede thesurfer Nybegynder
03. januar 2006 - 01:45 #14
OK :-)

/theSurfer
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