Avatar billede kanding Nybegynder
15. februar 2003 - 16:36 Der er 29 kommentarer og
4 løsninger

Er der asp på serveren?

Jeg har lavet nogle asp script som fungerer fint på mit webhotels server, da de har installeret asp, jmail m.m.

Nu skal de flyttes til en windows 2000 server. Hvis jeg tester det i browseren, som virker på min server, får jeg følgende:
Microsoft VBScript compilation error '800a0400'

Expected statement

/lme/admin/elev_login.asp, line 16

//response.write "SQLstmt=" & SQLstmt
^

1. Betyder det at der ER asp på serveren ???
2. Mangler der noget SQL ???
3. Kan det være at mine asp scripts skal ligge i en speciel folder?
4. Hvad skal der installeres på serveren for at køre asp, med kald til databaser.

Jeg giver 100 point, selvom, det for "hajer" sikkert er let, men bare for at understrege at dette er vigtigt for mig ;-)
Avatar billede tubber Juniormester
15. februar 2003 - 16:39 #1
Du skal i hvert fald ha installeret Internet Information Server (IIS) som ligger på win2k install CD'en....

Den opretter nogle mapper, dine sider skal ligge der under, og det er stort set hvad der skal til :O)

/Tubber
Avatar billede tubber Juniormester
15. februar 2003 - 16:41 #2
Du skal self. også installere JMail (mener det er en dll du skal regge)....

For at regge en DLL skal du bruge regsvr32...
Du eksekvere den i command prompten så skriver den selv hvordan den skal bruges....

/Tubber
Avatar billede hossein Nybegynder
15. februar 2003 - 16:42 #3
1- Du skal installere IIS på din maskine det gør du ved at åbne kontrol panel--> tilføj componenter --> også skal du fine internet (jeg kan finde et link til dette da jeg har ikke selv win2000)
2- efter installering af serveren lægger du alle dine sider under en mappe som hedder wwwroot
Avatar billede hossein Nybegynder
15. februar 2003 - 16:48 #4
her er et link som viser hvordan IIs installeres: http://www.webwizguide.com/asp/tutorials/installing_iis_win2k.asp
Avatar billede hossein Nybegynder
15. februar 2003 - 16:51 #5
det kan være også at på din maskine har du en gammel version af "vbscript scripting engine" du kan downloade det nye version 5.6
Avatar billede cbp Nybegynder
15. februar 2003 - 16:58 #6
ASP er installeret men udkommentering sker med ' i stedet for // hvis du bruger VBScript. Hvis det er JavaScript mangler du at sætte det og scriptet bliver fortolket som VBScript og giver derfor en fejl.
Avatar billede kanding Nybegynder
15. februar 2003 - 17:11 #7
Tak for de hurtige svar alle 3. Det der er det tricky'e er at det virker på den anden server, både med ' og // som kommentarer. Men det kan jeg lave om. Det gør jeg for så at vende tilbage. Men det betyder altså at der ER ASP på serveren, fint
Avatar billede snuseren.dk Nybegynder
15. februar 2003 - 17:14 #8
Og dine sider skal ligge i C:\wwwroot. Du må lave alle de undermapper du vil, bare det er i wwwroot! Når du har lagt dem der, skal du gå i din browser og skrive: http://localhost/dinSide.asp og hvis du vil se din server fra en anden computer, skal du finde din ip adresse, og skrive den i browseren. Se http://www.myip.dk/
Avatar billede kanding Nybegynder
15. februar 2003 - 18:01 #9
ok, nu har jeg fået erstattet // med '. Jeg har lige fået at vide at der køres NT 4.0 på serveren. Er det et problem?

Jeg får denne fejl nu:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

/lme/admin/elev_login.asp, line 13

Jeg forstår ikke hvorfor den siger '(unknown)' til filen. Er min reference forkert.

Scriptet:

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

Da vi åbentbart ikke er noget til SQL query'en, så undlader jeg denne
Avatar billede hossein Nybegynder
15. februar 2003 - 18:17 #10
det er 2 grund til dette:
1- det er på grund af "user permission"
http://support.microsoft.com/default.aspx?scid=KB;en-us;q174943
2- eller "time out" til dsn forbindelsen skal ændres
under control panel find:
Data Sources (ODBC)
Click on the System tab-->Highlight the correct DSN and click on the Configure button-->click the Options button-->Change the Page Timeout value to 5000
Avatar billede hossein Nybegynder
15. februar 2003 - 18:20 #11
hvis du lægger hele koden fra db forbindelse så kan vi se om det er en dsn-less forbindelse eller det er en forbindelse med dsn
Avatar billede kanding Nybegynder
15. februar 2003 - 18:55 #12
her er hele koden:
<%@Language=Vbscript%>
<%Option Explicit%>
<%
    '''''''Get the variables from flash
    Dim gNavn, gPW, gSkole, gKlasse, mainMessage,Conn, SQLstmt, myRS
        gNavn = Trim(Request("navn"))
        gSkole = Trim(Request("skole"))
        gKlasse = Trim(Request("klasse"))
        gPW = Trim(Request("pw"))
    '''''''Now, create the connection object
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("elever.mdb")
Conn.Open

SQLstmt = "SELECT * FROM elev_db WHERE navn = '" & gNavn & "'" & " and klasse = '" & gKlasse & "'" & " and skole = '" & gSkole & "'" & " and pw = '" & gPW & "'"
'response.write "SQLstmt=" & SQLstmt

Conn.Execute (SQLstmt)

    Set myRS=Server.CreateObject("ADODB.Recordset")
        myRS.Open SQLstmt, Conn
   
    If myRS.EOF Then
            mainMessage="Not found"
    Else
          mainMessage="Found;" & myRS("lme")
    End If
   

response.write "userInfo=" & mainMessage

    'Clean up everything
    myRS.Close
    Set myRS=Nothing
    Conn.Close
    Set Conn = nothing
    Set SQLstmt = nothing

%>
Avatar billede kanding Nybegynder
15. februar 2003 - 19:15 #13
prøvede lige at vise mappath. Den er:
mappath=C:\InetPub\wwwroot\lme\admin\elever.mdb
Avatar billede hossein Nybegynder
15. februar 2003 - 19:34 #14
Brug anden driver OLEDB har en bedre performance. Det er ikke DSN-less Forbindelse, så du skal højre klikke mappen eller mapper, hvor din project lægger under, vælg egenskaber også gi retigheder efter din ønske til brugeren eller en bestemt gruppe, jeg har ikke NT men andet er det jo ikke og håber at du har kigget på den link jeg skriv før:
http://support.microsoft.com/default.aspx?scid=KB;en-us;q174943

Set Conn = Server.CreateObject("ADODB.Connection")
set myRS = server.CreateObject("ADODB.RECORDSET")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("elever.mdb")
Conn.Open DSN
SQLstmt = "SELECT * FROM elev_db WHERE navn = '" & gNavn & "'" & " and klasse = '" & gKlasse & "'" & " and skole = '" & gSkole & "'" & " and pw = '" & gPW & "'"
'response.write "SQLstmt=" & SQLstmt
myRS.Open SQLstmt, conn

If myRS.EOF Then
            mainMessage="Not found"
    Else
          mainMessage="Found;" & myRS("lme")
    End If
   

response.write "userInfo=" & mainMessage

    'Clean up everything
    myRS.Close
    Set myRS=Nothing
    Conn.Close
    Set Conn = nothing
    Set SQLstmt = nothing
%>
Avatar billede hossein Nybegynder
15. februar 2003 - 19:36 #15
den her i din kode:
    Set myRS=Server.CreateObject("ADODB.Recordset")
        myRS.Open SQLstmt, Conn
er en gentagelse af en anden methode:
Conn.Execute (SQLstmt)
Avatar billede kanding Nybegynder
15. februar 2003 - 20:58 #16
Med hensyn til "myRS.Open SQLstmt, conn" , udfører den både SQL sætningen og åbne recordSet?
Jeg må vende tilbage, lige nu sidder jeg og sender asp scripts til en som så ligger dem op, det er lidt omstændigt. Tak indtil videre.
Avatar billede hossein Nybegynder
15. februar 2003 - 21:09 #17
Ja den gør!
selv tak
Avatar billede kanding Nybegynder
15. februar 2003 - 21:54 #18
ok, den sidste jeg lagde op, ser scriptet således ud. Jeg mener at jeg har sat dine ting rigtigt ind, men.... Prøv at se:

<%@Language=Vbscript%>
<%Option Explicit%>
<%
    '''''''Get the variables from flash
    Dim gNavn, gPW, gSkole, gKlasse, mainMessage,Conn, SQLstmt, myRS, DSN
        gNavn = Trim(Request("navn"))
        gSkole = Trim(Request("skole"))
        gKlasse = Trim(Request("klasse"))
        gPW = Trim(Request("pw"))
    '''''''Now, create the connection object
Set Conn = Server.CreateObject("ADODB.Connection")
set myRS = server.CreateObject("ADODB.RECORDSET")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("elever.mdb")
Conn.Open DSN
SQLstmt = "SELECT * FROM elev_db WHERE navn = '" & gNavn & "'" & " and klasse = '" & gKlasse & "'" & " and skole = '" & gSkole & "'" & " and pw = '" & gPW & "'"
'response.write "SQLstmt=" & SQLstmt
myRS.Open SQLstmt, conn

If myRS.EOF Then
            mainMessage="Not found"
    Else
          mainMessage="Found;" & myRS("lme")
    End If
   

response.write "userInfo=" & mainMessage

    'Clean up everything
    myRS.Close
    Set myRS=Nothing
    Conn.Close
    Set Conn = nothing
    Set SQLstmt = nothing
%>

Jeg har indsat DSN som variabel, da den første gang brokkede sig over det.
Nu får jeg følgende fejl, hvilket er ret lidt hjælp:

Microsoft JET Database Engine error '80004005'

Unspecified error

/lme/admin/elev_login.asp, line 14
Avatar billede hossein Nybegynder
15. februar 2003 - 23:02 #19
Ja, kig på denne her, så må vi se om det løser problemet:
http://www.iisfaq.com/ExternalLink.aspx?L=1043&P=47
Avatar billede kanding Nybegynder
16. februar 2003 - 11:07 #20
Jeg kan godt se at vi er ude i server basered ting som absolut ikke er mig.:-( Vi checker det igennem...
Avatar billede kanding Nybegynder
16. februar 2003 - 11:38 #21
Umiddelbart virker det som om at alle de nævnte ting er iorden, men denne, Also ensure that the IUSER anonymous IIS account has access to the temporary folder.

Hva' dælen er det???
Avatar billede tubber Juniormester
16. februar 2003 - 12:48 #22
Der er på din maskine nogle temp dirs.....
Temp, Temporary Internet Files find alle dem på C:\

Der skal du sætte permissions (som tidligere) og lave en permission der siger at IUSER har læse/skrive rettigheder i de bibloteker.....

Eller du  kan prøve på en af gangen for at finde ud af hvad det nøjagtigt er for et du skal ha fat i :)
Avatar billede kanding Nybegynder
20. februar 2003 - 20:13 #23
ok, der har været lidt stille fra min side, da je har ligget syg. Vi er ikke kommet nærmere en løsning. p.t. har vi denne fejl:
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.

Jeg læst lidt om det, men forstår vist ikke helt hvad det drejer sig om. Filen er IKKE åben hos en anden og den bliver lukket rigtigt, så det er noget med rettigheder. Men hvilke ?? Er det det ikke ret standard hvilke rettigheder der skal til?
Avatar billede hossein Nybegynder
20. februar 2003 - 21:23 #24
Med denne linie bestemmer du hvor din database ligger:

... Data Source=" & Server.MapPath("elever.mdb")
dvs. samme sted sam alle andre fil ligger. Ligger de i samme mappe?

Men kører du på din egen server eller er det stadigvæk hos web hotellet?
Avatar billede kanding Nybegynder
20. februar 2003 - 21:49 #25
Hej igen hossin ;-)
ja de ligger i samme mappe, strukturen er den samme.

Jeg kører både hos mig selv og på den anden server. Som sagt på webhotellet fløjter det derud af, det andet sted får jeg fejlen.
Men fejlen er ret misvisende. Den ved ikke hvilken fil der tales om, men påstår samtid at den kan være åben.
Er det fordi den hedder unknown at du ville vide det med mapPath?
Avatar billede hossein Nybegynder
20. februar 2003 - 21:58 #26
nej, Jeg vil vide bare at den pejer på den rigtige sted.
send din side til mig + en kopi af din db med nogle få rækker: mach3@get2net.dk
så må vi se hvad der går galt.
Avatar billede hossein Nybegynder
20. februar 2003 - 23:03 #27
jeg får den besked tilbage:

userInfo=Not found

Passer det? Også ingen fejl besked.
Avatar billede hossein Nybegynder
20. februar 2003 - 23:19 #28
Læs du den: http://support.microsoft.com/default.aspx?scid=KB;en-us;q174943
Det er ikke andet end det.
På din egen maskine har du win NT eller win2000?
Avatar billede kanding Nybegynder
21. februar 2003 - 09:10 #29
ja, userInfo=Not found er den rigtige besked, godt nok fandt du ikke det du søgte, men den har læst, søgt, så det er fint... så hvorfor vil det ikke på den anden server ???
På mit webhotel er der win2000, på den anden er der NT.
Jeg har læst linket, det virker som en ret god grund, jeg har sendt det til ham der står for serveren.
Avatar billede hossein Nybegynder
22. februar 2003 - 23:30 #30
Hvordan går det der? Kig også på den:
http://www.webwizguide.info/asp/faq/server_permissions.asp
Avatar billede kanding Nybegynder
23. februar 2003 - 21:31 #31
det spiller på win2000, men ikke på NT :-(
Avatar billede hossein Nybegynder
23. februar 2003 - 21:59 #32
Ok, så har vi prøvet alt. Maskinen med NT måske har ikke en opdateret version af vbscript scripting engine.
Avatar billede kanding Nybegynder
13. marts 2003 - 10:19 #33
Nu har vi flytett det hele til en anden server hvor det kører fint. Hossein har virkelig kæmpet, så han får de fleste point. Tak for hjælpen til alle.
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