Avatar billede guro.not Nybegynder
17. maj 2001 - 12:31 Der er 15 kommentarer og
1 løsning

Hjælp!! checke om en database er tilgængelig.

Jeg har brug for at checke om min database er tilgængelig.. Databasen bliver x antal gange i døgnet uploadet via ftp, og når dette sker kan man ikke læse i databasen, og jeg skal derfor bruge en metode til at cheke om dette sker. Så brugerne kan blive sendt vidre til en side med en meddelse om at databasen bliver opdateret..

Jeg har indtil vidre brugt.

<!--#include virtual=\"/include/adovbs.asp\"-->
<%
Dim Connect
Dim rs

On Error Resume Next
Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"1-netdk\"

If Connect.errors.count > 0 Then
Connect.close
Set Connect = Nothing
Response.Redirect(\"db_opda.asp\")
End IF

Set rs = Server.CreateObject(\"ADODB.Recordset\")
%>


men af en eller anden underlig grund virker det ikke mere.. selv når databasen ikke bliver uploadet bliver man sendt vidre til db_opda.asp

Hvordan løser jeg lige dette problem?

Henrik
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:39 #1
Bare et skud i tågen:

Prøv at ændre

If Connect.errors.count > 0 Then

til

If Errors.Count > 0 Then
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:43 #2
Du kan evt. også bruge:

Response.Write \"Fejl #\" & Err.Number &\": \" & Err.Description

for at se hvilken fejl der opstår!
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:46 #3
El. ved hjælp \"Scripting.FileSystemObject\" tjekke om filen eksistere el. hvornår den sidst er redigeret/oprettet (alt efter om du overskriver/sletter)

Finder lige noget kode!
Avatar billede guro.not Nybegynder
17. maj 2001 - 12:47 #4
Hej igen..

Fedt at i gider hjælpe..

jeg har prøvet at rettet det til If Errors.Count > 0 Then  desværre uden held..

Jeg har skiftet den Response.Redirect \"db_opda.asp\") ud med
If Errors.Count > 0 Then

så det nu ser sådan ud:
If Errors.count > 0  Then
    Response.Write \"Fejl #\" & Err.Number &\": \" & Err.Description
    Connect.close   
    Set Connect = Nothing
    \'Response.Redirect(\"db_opda.asp\")
End IF

Så får jeg denne fejl Fejl #424: Object required
men jeg får den både når db bliver uploadet og når den ikke gør..

Henrik
Avatar billede guro.not Nybegynder
17. maj 2001 - 12:51 #5
En lille tanke..

Jeg er bange for at hvis man checker om filen eksistere med FileSystemObject, at man så vil få at vide at det gør den..
Filen vil være der selv om at den er ved at blive skrevet.

Henrik
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:53 #6
Underligt, tænker videre ...
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:54 #7
Har tænkt på det samme, bare en idé
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:55 #8
sletter el. overskriver du den?
Avatar billede guro.not Nybegynder
17. maj 2001 - 12:57 #9
Den bliver overskrevet.
Avatar billede guro.not Nybegynder
17. maj 2001 - 12:59 #10
Jeg har lige prøvet at slette db\'en.
Det giver stadig samme fejl 424.
og den forsvinder ikke når jeg har uploadet db\'en igen..
Avatar billede torbenmelander Nybegynder
17. maj 2001 - 12:59 #11
Så, tror jeg desværre ikke jeg kan hjælpe ... håber der er \"større\" eksperter her på stedet!!!

Vender tilbage hvis jeg får nogle ideér
Avatar billede guro.not Nybegynder
17. maj 2001 - 13:03 #12
Takker..

Jeg håber også at der et et klogt hoved som kan hjælpe..
Avatar billede mwittrock Nybegynder
17. maj 2001 - 13:11 #13
Du skal også checke om fejlens nummer er forskelligt fra 0. Fejl med nummer 0 er ikke fejl som sådan. Prøv denne funktion:

Function ConnectionError(ByVal objDBConn)
  Dim objErr
  If objDBConn.Errors.Count > 0 Then
    For Each objErr In objDBConn.Errors
      If objErr.Number <> 0 Then
      ConnectionError = True
      End If
    Next
    Else
      ConnectionError = False
  End If
End Function

Når du har forsøgt at åbne din forbindelse kalder du denne funktion med Connection objektet som parameter.
Avatar billede mwittrock Nybegynder
17. maj 2001 - 13:27 #14
Lille smule smartere version:

Function ConnectionError(ByVal objDBConn)
  Dim objErr
  If objDBConn.Errors.Count > 0 Then
    For Each objErr In objDBConn.Errors
      If objErr.Number <> 0 Then
        ConnectionError = True
        Exit Function
      End If
    Next
  Else
    ConnectionError = False
  End If
End Function
Avatar billede guro.not Nybegynder
17. maj 2001 - 14:30 #15
Hej igen..

De 2 functions hjalp ikke..

Jeg har løst problemet med dette:

<% response.buffer = true %>
<!--#include virtual=\"/include/adovbs.asp\"-->
<%
Dim Connect
Dim rs

On Error Resume Next

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"1-netdk\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")

rs.open \"SELECT TOP 1 Users.userID, * FROM Users;\" ,Connect,adOpenKeyset,adLockReadOnly,adCmdText
If (rs.BOF Or rs.EOF) Then
    connect.close
    set connect = Nothing
    rs.Close
    Set rs = Nothing
    Response.Redirect(\"db_opda.asp\")
End If

rs.Close
%>

Henrik
Avatar billede guro.not Nybegynder
17. maj 2001 - 14:30 #16
Lukket..

Tak for hjælpen..
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