Avatar billede tue Nybegynder
21. juni 2000 - 19:23 Der er 19 kommentarer og
1 løsning

include file/virtual !

Jeg har næsten stillet dette spørgsmål før:

http://www.eksperten.dk/spm.asp?id=16571

Jeg en fil (infostat.inc) som jeg skal include fra alle mine sider, uanset i hvilke mapper de ligger !

Men hvis jeg bruger <!--#include virtual="../../infostat.inc"--> så bliver filen ikke fundet !

Og hvis jeg bruger <!--#include file="../../infostat.inc"--> for jeg fejlen:

----------------- Fejlmeddelelse -----------------

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'

[Microsoft][ODBC Microsoft Access-driver]Der opstod en generel fejl. Registreringsnøglen Temporary (volatile) Jet DSN for process 0x560 Thread 0x790 DBC 0x2192fa4 Jet kan ikke åbnes.

C:\DOCUMENTS AND SETTINGS\TUE SANDAL\SKRIVEBORD\QCOM.DK\WWWROOT\../infostat.inc, line 3

----------------- Slut -----------------


----------------- infostat.inc -----------------

<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("data/infostat.mdb")

If session("User") <> "" then
  strSQL = "SELECT * FROM Pages"
        Set rs = myConn.Execute(strSQL)

  Set rs = Server.CreateObject("ADODB.Recordset")
        rs.Open strSQL, myConn, 3, 3

  rs.AddNew
        rs("User") = session("user")
        rs("Url") = request.servervariables("URL")
        rs("Tid") = Time
        rs("Dato") = Date
  rs.Update
else
  strSQL = "SELECT * FROM Users"
      Set rs = myConn.Execute(strSQL)
   
  Set rs = Server.CreateObject("ADODB.Recordset")
      rs.Open strSQL, myConn, 3, 3

  rs.AddNew
        rs("Ip") = request.servervariables("REMOTE_ADDR")
        rs("Country") = request.servervariables("HTTP_ACCEPT_LANGUAGE")
        rs("Referer") = request.servervariables("HTTP_REFERER")
        rs("Browser") = request.servervariables("HTTP_USER_AGENT")
        rs("Tid") = Time
    rs("Dato") = Date
  rs.Update

  session("User") = "IP=" & request.servervariables("REMOTE_ADDR") & "&Tid=" & Time & "&Dato=" & date & ""
End If

Set rs = Nothing
Set myConn = Nothing
%>

----------------- Slut -----------------

Filen        infostat.inc ligger i min start mappen ( mappen før wwwroot )
Databasen    infostat.mdb ligger i mappen "data" som ligger under min start mappe ( mappen før wwwroot )
Avatar billede ows Nybegynder
21. juni 2000 - 19:47 #1
Din infostat.inc fil
----------------
<%

Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=c:\inetpub\wwwroot\garage\fpdb\garage.mdb"
  Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

%>

---------------------------

I dit script skal du tilføje

<!-- #include virtual="<evt sub dir>/_private/infostat.inc" -->
<% Sql = "SELECT * FROM <tabel> where <felt> = >oplysning> "
Set Rs = Rs.Execute(Sql)

<%RS.close%>

eller

<%RS.MoveNext
wend
RS.close%>

--------------

Din fejl var ../ osv
Avatar billede lp Nybegynder
21. juni 2000 - 19:47 #2
Det er din database connection der er problemer med.........helt nøjagtigt hvad ved jeg ikke....
Avatar billede tue Nybegynder
21. juni 2000 - 20:17 #3
Her bruger jeg <!--#include virtual="../infostat.inc"-->

http://www.qcom.dk/databasetest/wwwroot/index.asp

Her bruger jeg <!--#include file="../../infostat.inc"-->

http://www.qcom.dk/databasetest/wwwroot/index_file.asp
Avatar billede tue Nybegynder
21. juni 2000 - 20:23 #4
ows >> Den database connection du bruger fungere på samme måde som min, så det er ikke der mit problem ligger !

Og lige for at nævne det, så der ikke noget galt med selve scriptet, det er nok som "Ip" også siger noget med min connection at gøre !
Avatar billede tue Nybegynder
21. juni 2000 - 20:27 #5
Jeg har fundet en måde det virker på, men dem holder ikke helt i længten !

Hvis jeg bruger <!--#include file="../../infostat.inc"--> og min connection ser sådan her ud:
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../data/infostat.mdb")

.. så virker det !

Det vil sige, at nå man bruger include file, så køre den infostat.inc, som om filen lå i samme mappe, så det er jo nok <!--#include virtual="../infostat.inc"--> jeg skal bruge !

Men hvorfor vil den ikke finde filen ?

Det skal lige siges at mit web-hotel er hos Abusiness.dk !
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:30 #6
Det er databasen

det er fordi du angiver at databasen ligger data/infostat.mdb (fra roden)
Men include filen ligger I en mappe... og derfor er stien så mappe/data/infostat.mdb derfor er det et problem (TROR jeg)
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:33 #7
Lav en DNSless Connection...
Avatar billede tue Nybegynder
21. juni 2000 - 20:34 #8
Min mapppe struktur ser ud som følger:

      start
    /      \
wwwroot    data

infostat.inc : ligger i start
index.asp : ligger i wwwroot
infostat.mdb ligger i data
Avatar billede tue Nybegynder
21. juni 2000 - 20:37 #9
Det vil sige, at nå index.asp bliver loadet, så inkludere den infostat.inc, som ligger en mappe tilbage. infostat.inc, skal så skrive til databasen, som ligger i mappen data en mappe frem !
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:38 #10
Hvis du er i mappen /whatever og filen hedder first.inc

Så hedder syntaksen:
<--#include virtual="/whatever/first.inc"-->
eller
<--#include virtual="/first.inc"-->
Avatar billede tue Nybegynder
21. juni 2000 - 20:38 #11
tomsommer >> Hvordan laver jeg en DNSless connection, og hvad skulle det hjælpe ?
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:39 #12
Fjern infostat.inc og læg den I wwwroot ...!
Avatar billede tue Nybegynder
21. juni 2000 - 20:40 #13
Man hvad nu hvis filen first.inc ligger en mappe tilbage ?
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:41 #14
en DNSless connection gør at ligemeget hvilken mappe du er så kan den altid finde databasen

2 sek.. jeg finde lige noget kode
Avatar billede tue Nybegynder
21. juni 2000 - 20:42 #15
Det vil ikke hjælpe noget, for jeg har en masse andre sider i nogle andre mappen, som også skal henføres til infostat.inc !
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:44 #16
myconn = "DRIVER={Microsoft Access Driver (*.mdb)};"
myconn = myconn & "DBQ=d:\webs\domæne.dk\database.mdb"

se under vejledninger på abusiness.dk (selv kunde hos dem)
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:45 #17
Du laver "include file" med en DSNless connection
Avatar billede tue Nybegynder
21. juni 2000 - 20:45 #18
Ok, tester det lige !
Avatar billede tue Nybegynder
21. juni 2000 - 20:55 #19
Tak, nu virker det !
Avatar billede tomsommer Juniormester
21. juni 2000 - 20:58 #20
Skulle det være en anden gang
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