Avatar billede 3xa Nybegynder
14. april 2003 - 11:56 Der er 3 kommentarer og
1 løsning

Who's on

Jeg kunne godt tænke mig at vide hvem der benytter en database der kører på et netværk. Jeg har fisket et langhåret script på nettet der fortæller hvilken arbejdsstation der er logget på database / benytter tabbelen...

Er der nogen der kender til sådan en fætter?
Avatar billede sblar Nybegynder
14. april 2003 - 12:00 #1
Har du scriptet eller vil du have det?
14. april 2003 - 12:20 #2
Nedenstående funktion giver dig navnet på de brugere, som er logget på (Den viser også din egen maskine, da du opretter en connection til databasen)

Public Function CountUsers(DatabaseSti As String) As Byte
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim intUser As Integer
    Dim fld As ADODB.Field
   
    On Error GoTo Err_Handler
   
    Const adhcUsers = "{947bb102-5d43-11d1-bdbf-00c04fb92675}"
   
    Set cnn = New ADODB.Connection
    cnn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabaseSti & ";User ID=Admin;Password=;"
    cnn.Open
   
    Set rst = cnn.OpenSchema(adSchemaProviderSpecific, , adhcUsers)
   
    With rst
        Do Until .EOF
            intUser = intUser + 1
            Debug.Print "User # " & intUser
            For Each fld In .Fields
                If fld.Name = "COMPUTER_NAME" Or fld.Name = "LOGIN_NAME" Then
                    Debug.Print "  " & fld.Name & "=" & fld.Value
                End If
            Next
            .MoveNext
        Loop
    End With
    CountUsers = intUser
    rst.Close
    Set rst = Nothing
    cnn.Close
    Set cnn = Nothing
    Exit Function
Err_Handler:
    MsgBox Err.Description, vbExclamation, "Databasen er låst eksklusivt!"
End Function

Fra debug-vinduet kan den kaldes således:
?CountUsers("C:\Documents and Settings\DinDatabase.mdb")

Der kunne sagtens laves et smartere interface til funktionen i stedet for at den skal aflæses i debug-vinduet, men det har jeg ikke fået lavet endnu.

Koden kræver reference "Microsoft ADO ext. 2.x for DLL"
Avatar billede 3xa Nybegynder
15. april 2003 - 09:40 #3
Thomas -> Jeg kan ikke rigtigt få den til at virke. Fungerer den sådan at den kan se hvem der låser linkede tabeller i en database, eller kun hvem der er på selve databasen?
Avatar billede 3xa Nybegynder
15. april 2003 - 12:55 #4
Jeg opretter lige et nyt tilrettet spørgsmål...
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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