set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider if objConn.State = 0 then kontaktOk = false else kontaktOk = false end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if On Error Resume 0 End Sub
Sub CloseDB objConn.Close Set objConn = Nothing End Sub %>
men jeg får en fejl når jeg køre min side, den er ved linje 36 som er:
On Error Resume 0
fejlen er: Microsoft VBScript compilation error '800a03ea'
Du kan prøve at udkommenter linien On Error Resume Next så kommer der en fejl for hvorfor den ikke vil connecte til databasen. Er du skikker på stien passer?
Men prøv at rette OpenDB til dette sådan objConn definers uden for funktionen.
Set objConn = Server.CreateObject("ADODB.Connection") Sub OpenDB
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider if objConn.State = 0 then kontaktOk = false else kontaktOk = false end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if On Error goto 0 End Sub
hvis jeg bruger det du gav mig tilsidst så sker det samme men prøvede at sætte et ' foran fejl koden og nu er den væk men så vil den jo ikke skrive en fejl mere hvis der ikke er kontakt til min db.
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider if objConn.State = 0 then kontaktOk = false else kontaktOk = false end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if ' On Error goto 0 End Sub
Hvis den ikke skrive en fejl ud skulle der være kontatkt til databasen. Du kan evt. prøve at udskrive connection objectet state. Står dre et tal >0 er connection åben.
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider if objConn.State = 0 then kontaktOk = false else kontaktOk = false Response.Write "Database filen kunne ikke findes!<br>" end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if ' On Error goto 0 End Sub
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider Response.Write "ConnState=" & objConn.State & "<br>" if objConn.State = 0 then kontaktOk = false end if else kontaktOk = false Response.Write "Database filen kunne ikke findes!<br>" end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if ' On Error goto 0 End Sub
ok, prøv lige sådan her, det er muligt at objConn.State tolkes som en streng for den skulle så jeg kan se ikke skrive fejl teksten ud når state=1 de betyder der er connection til databasen.:
Set objConn = Server.CreateObject("ADODB.Connection") Sub OpenDB
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider Response.Write "ConnState=" & objConn.State & "<br>" if int(objConn.State) = 0 then kontaktOk = false end if else kontaktOk = false Response.Write "Database filen kunne ikke findes!<br>" end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." end if ' On Error goto 0 End Sub
Ja så skal linien som udskriver objConn.State fjernes igen.
Ja så skulle det virke. Du kan prøve et rette stien til databasen men det kan være du bliver nød til at havde en Response.End efter fejlen er udskrevet for at undgå andre fejl på siden.
Som test af DB ikke blev åbnet rigtigt kan du prøve at udkommenter .open:
' objConn.Open strProvider
Funktionen rettes så tilbage så den ser sådan her ud:
Set objConn = Server.CreateObject("ADODB.Connection") Sub OpenDB
On Error Resume Next Const cnstDBPath = "d:\web\localuser\domæne.dk\database\database.mdb" Dim strProvider Dim kontaktOk strProvider = "" strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;" strProvider = strProvider & "Data Source=" & cnstDBPath & ";" strProvider = strProvider & "Persist Security Info=False" kontaktOk = true
set fso = Server.CreateObject("Scripting.FileSystemObject") if (fso.FileExists(cnstDBPath))=true Then objConn.Open strProvider if int(objConn.State) = 0 then kontaktOk = false end if else kontaktOk = false end if if kontaktOk = false then response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden." 'response.End 'Kan være nødvendig for at undgå andre fejl på siden. end if On Error goto 0 End Sub
1000 tak det virker jeg lavede et 1 tal foran min database.mdb og har så Response.End() efter: Response.Write "Database filen kunne ikke findes!<br>" og response.Write "Fejl kunne ikke få kontakt til databasen, prøv at reloade siden."
den skrev fejl kode 2, så 1000 tak vil du lev. et svat.
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.