Avatar billede bgo Nybegynder
26. september 2004 - 20:36 Der er 2 kommentarer og
1 løsning

dynamisk include problem

Jeg gemmer data om hvilken database der er i brug i en alm. tekstfil, således at den rigtige connectstring bliver brugt, og der kan tages højde for eventuelle forskelle på sql'en.

Første linje i tekstfilen er navnet (lower case) på databasen (access, mysql etc) og skal så bruges til at hente den rigtige include fil. Og hertil går det også fint.

Problemet er, at include filen tilsyneladende ikke bliver afviklet. Lader jeg bare almindelig tekst stå, bliver det skrevet i browseren, så include filen bliver læst, men når jeg laver det til asp, så bliver det ikke udført.

generel.asp:

<%
'//Dynamiske includes af Bjarke Bekhøj
function include(fil)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set incfile = fso.OpenTextFile(Server.MapPath(fil), 1)
    include = incfile.ReadAll
    incfile.close
end function

Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("dbtype.txt")
if NOT fso.FileExists(filespec) then
  response.redirect("install.asp")

else

    Set f = fso.OpenTextFile(filespec,1)

    while not f.AtEndOfStream
        dbtype = f.ReadLine
        host = f.ReadLine
        database = f.ReadLine
        brugernavn = f.ReadLine
        password = f.ReadLine
    wend

end if

f.Close
set fso = nothing
set f = nothing

%>

<%
response.write dbtype
response.write Include(dbtype & "-readgenerel.asp")
response.write "h" & strDSN
response.write "h" & strSQL
Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open strDSN

Set rs = Connect.Execute(strSQL)

While not rs.EOF
navn=rs("Sitenavn")
url=rs("SiteURL")
rs.MoveNext
Wend

rs.Close
set rs.ActiveConnection = nothing
set rs = nothing

Connect.Close

set Connect = nothing
%>

access-readgenerel.asp:

<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("..\db\system.mdb")"

strSQL = "Select * From Generel"
response.write strDSN
response.write strSQL
%>

Fejl:

accesshh
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/focuspoint/admin/generelt.asp, line 42
Avatar billede eagleeye Praktikant
26. september 2004 - 22:11 #1
Du har ikke defineret:  strDSN
Avatar billede eagleeye Praktikant
26. september 2004 - 22:19 #2
hvis du vil havde den til at udføre det som er i include filen må du lave en execute. Det du har nu læser bare indholdet af filen og srkiver det til browsren.

Så prøv at rette:
response.write Include(dbtype & "-readgenerel.asp")

Til dette:

str = Include(dbtype & "-readgenerel.asp")
str = replace(str, "<"&"%","")
str = replace(str, "%"&">","")
Execute(str)
Avatar billede bgo Nybegynder
26. september 2004 - 23:17 #3
det var lige bestemt det jeg ville :) Og din ændring virkede :) Tak
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