Avatar billede steen_hansen Forsker
12. juni 2015 - 04:52 Der er 11 kommentarer og
1 løsning

Dette giver HTTP 500 Internal Server Error. Hvorfor?

<%

    Dim Conn, RS

    strConnection = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=xxx.xxx.xxx.xxx; UID=hbxxxxx_MitDomæne; PWD=xxxxxxxx; DATABASE=hbxxxxx_MitDomæneDB; OPTION=3"
    SET Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open strConnection

    Set RS = Conn.Execute("SELECT * FROM users WHERE userID = 1")

    If RS.EOF Then
        RS.Close
        Conn.Close
    Enf If

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%

    Response.Buffer = True
    Response.Expires = -1000
    Session.LCID = 1030

%>

<html>

<head>
<meta http-equiv="Expires" CONTENT="Fri, Jun 12 1981 08:20:00 GMT">
<meta http-equiv="Cache-Control" CONTENT="no-store">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta http-equiv="imagetoolbar" content="no">
<meta http-equiv="Content-language" content="dan">
<meta name="robots" content="all">
<link rel="stylesheet" type="text/css" href="/includes/style.css">
<title>Test</title>
</head>

<body>

<%=RS("firstname")%> <%=RS("middlename")%> <%=RS("lastname")%>

</body>

</html>
Avatar billede steen_hansen Forsker
12. juni 2015 - 04:59 #1
Jeg håber ikke det er p.gr.a dette: Running Classic ASP Applications on IIS 7 and IIS 8

http://www.iis.net/learn/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8
Avatar billede softspot Forsker
12. juni 2015 - 09:12 #2
Det kan være så meget med den sparsomme fejlbeskrivelse, så det første du skal have afklaret, er den specifikke fejlbesked.

Muligheder jeg lige kan komme i tanke om:

* forbindelsesstrengen anvender en driver som ikke er installeret på serveren (prøv evt. en anden: http://www.connectionstrings.com/mysql-oledb-mysqlprov/)

* felter i det resultat du henter fra databasen findes ikke

* syntaksfejl, f.eks. variable der ikke er dim'et, hvis du har sat Option Explicit i din side (strConnection er et eksempel)

* givetvis flere andre...


Husk i øvrigt også at få lukket din forbindelse, når der rent faktisk er noget i resultatet fra din forespørgsel.
Avatar billede softspot Forsker
12. juni 2015 - 09:16 #3
En ting mere, som lige springer i øjnene:

* at du sætter Response.Buffer EFTER det første indhold er sendt til klienten - det mener jeg ikke du må/kan.

Sæt disse ting i toppen af siden, så de er på plads fra starten.

Desuden burde du samle dit opslag i en funktion, som du kalder derfra i siden, hvor det skal bruges. Som det er kodet nu, spreder du håndteringen af opslaget over hele siden og glemmer, som før nævnt, at lukke forbindelsen efter brug, hvis der er rækker i resultatet.
Avatar billede cht22 Professor
12. juni 2015 - 18:02 #4
Der er også en fejl ved at du kun lukker forbindelserne hvis der ikke er flere poster fra databasen.


If RS.EOF Then
        RS.Close
        Conn.Close
end if


Bør erstattes med:


If not RS.EOF Then
'udskrivning fra database
end if

        RS.Close
        Conn.Close
Avatar billede softspot Forsker
12. juni 2015 - 18:54 #5
cht22, det var noget af det jeg nævnte i en af mine tidligere kommentarer. Din løsning vil i øvrigt ikke fungere idet tilfælde, der rent faktisk er noget i resultatet, da siden så vil fejle senere (da feltværdierne i rs tilgås)...
Avatar billede cht22 Professor
12. juni 2015 - 23:22 #6
Ja du har sagt det. Det skal ikke tages helt bogstaveligt. Det jeg siger er at udskrivningen fra databasen skal ske indenfor if-sætningen "If not RS.EOF Then" ellers vil der også opstå fejl, hvis der ikke bliver fundet en post i databasen.
Avatar billede steen_hansen Forsker
16. juni 2015 - 06:58 #7
Takker for indlæg :) Jeg har ikke haft tid til at gennemgå det hele, men I har ret ang. connectionstring (#2). Surftown understøtter ikke længere ODBC-drivere. Se et andet spørgsmål her: http://www.eksperten.dk/spm/1004267

Jeg tror ikke den connectionstring er korrekt, eftersom der ODBC ikke understøttes i forbindelse med opgradering af deres servere.

Hvis ikke det understøttes, skal det vel heller ikke med i connectionstring?

strConn = "DRIVER={MySQL ODBC 3.51 Driver};Server=ServerIP;
Port=3306;Database=Database;User=User;Password=Password;Option=3;"

På et andet webhotel benyttede jeg

Option=NUM

Larsen45 benytter Option=3. Hvad er formålet med de variabler? Jeg fandt i sin tid en lille vejledning på nettet, og benyttede bare NUM, fordi det virkede, uden egentlig at sætte mig ordentligt ind i egenskaberne.
Avatar billede steen_hansen Forsker
16. juni 2015 - 07:00 #8
PS: Det kan jo godt være, at det ikke får nogen indflydelse, hvis der står

DRIVER={MySQL ODBC 3.51 Driver};

i connectionstring. Men strengen forudsætter jo, at vi skal benytte ODBC.
Avatar billede softspot Forsker
16. juni 2015 - 08:55 #9
Jeg forstår ikke dine svar på de indlæg der er kommet...(hvad er det f.eks. for noget med Option du snakker om? - Det er vist noget andet end det jeg snakker om).

Du skal vel bare prøve at indsætte den connectionstring jeg henviste til i #2 og se om det løser problemet (det tager vel 5 minutter). Hvis det ikke fungerer, så prøv nogle af de andre muligheder på connectionstrings.com.

Det kan endda være surftown selv har nogle forslag til, hvordan du kan forbinde til en MySQL på deres webhotel (hvilket jeg vil mene er sandsynligt).
Avatar billede steen_hansen Forsker
24. september 2015 - 16:22 #10
cht22 og softspot, smider I begge et svar, så jeg kan få lukket. Undskyld den sene reaktion, det var lidt hektisk i de dage :p
Avatar billede softspot Forsker
24. september 2015 - 18:20 #11
Svar :-)
Avatar billede steen_hansen Forsker
24. september 2015 - 23:36 #12
Takker :)

Softspot, jeg husker du var en haj til ASP. HVIS du skulle have tid og overskud, håber jeg du vil kigge på http://www.eksperten.dk/spm/1006185

cht22, jeg var lidt hurtig med at give alle pointene til softspot. Og så vidt jeg husker, må jeg højst give 200 point, sorry. Jeg plejer ellers at være meget omhyggelig med at være fair :(
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