Autor Tema: Conocer cuantos usuarios hay conectados a una BD access  (Leído 5691 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Conocer cuantos usuarios hay conectados a una BD access
« en: Junio 07, 2012, 12:01:20 pm »
Hola amigos! tengo una aplicacion desarrollada cliente y servidor que utiliza  'Microsoft.Jet.OLEDB.4.0' para conectarse. Todo me funciona correcto aparentmente pero me gustaria que desde el ejecutable Servidor pueda ver cuantos usuarios hay conectados a la bd en ese momento y de ser posibles quienes son ???
Muchas gracias !!!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Conocer cuantos usuarios hay conectados a una BD access
« Respuesta #1 en: Junio 07, 2012, 03:30:55 pm »
Creo que tienes que leer el archivo lbd de la BD que se crea cuando alguien se conecta a ella pero no se como hacerlo, checa esto:
http://support.microsoft.com/kb/136128/es
Me encuentras en YAcosta.com

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Conocer cuantos usuarios hay conectados a una BD access
« Respuesta #2 en: Junio 07, 2012, 06:30:17 pm »
Creo que tienes que leer el archivo lbd de la BD que se crea cuando alguien se conecta a ella pero no se como hacerlo, checa esto:
http://support.microsoft.com/kb/136128/es
Gracias iban pero no es para eso!!  explica que son en realidad pero no como manipularlos!

Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Conocer cuantos usuarios hay conectados a una BD access
« Respuesta #3 en: Junio 07, 2012, 11:02:26 pm »
Hola, en Access es medio limitado, pero podes hacerlo con esto:

Use ADO to Return a List of Users Connected to a Database

el codigo que probe y funciona es:

Código: (vb) [Seleccionar]
Private Function UsuariosConectados()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim i, j As Long
   
    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.Open "Data Source=C:\Northwind2003.mdb"
   
    Set rs = cn.OpenSchema(adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
   
    Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, "", rs.Fields(2).Name, rs.Fields(3).Name
   
    While Not rs.EOF
        Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2), rs.Fields(3)
        rs.MoveNext
    Wend
End Function

Private Sub Form_Load()
    Call UsuariosConectados
End Sub

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Conocer cuantos usuarios hay conectados a una BD access
« Respuesta #4 en: Junio 07, 2012, 11:09:18 pm »
Creo que tienes que leer el archivo lbd de la BD que se crea cuando alguien se conecta a ella pero no se como hacerlo, checa esto:
http://support.microsoft.com/kb/136128/es
Gracias iban pero no es para eso!!  explica que son en realidad pero no como manipularlos!

Cierto, lo volví a revisar y es como dices, pero alli sebas te dio la fija que yo tampoco la sabia.
Me encuentras en YAcosta.com

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Conocer cuantos usuarios hay conectados a una BD access
« Respuesta #5 en: Junio 08, 2012, 08:56:45 am »
Hola, en Access es medio limitado, pero podes hacerlo con esto:

Use ADO to Return a List of Users Connected to a Database

el codigo que probe y funciona es:

Código: (vb) [Seleccionar]
Private Function UsuariosConectados()
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim i, j As Long
   
    cn.Provider = "Microsoft.Jet.OLEDB.4.0"
    cn.Open "Data Source=C:\Northwind2003.mdb"
   
    Set rs = cn.OpenSchema(adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
   
    Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, "", rs.Fields(2).Name, rs.Fields(3).Name
   
    While Not rs.EOF
        Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2), rs.Fields(3)
        rs.MoveNext
    Wend
End Function

Private Sub Form_Load()
    Call UsuariosConectados
End Sub

Buenos días amigos!! gracias funcionó correctamente sólo tuve que modificar la linea de conexion por que la base tiene contraaseña! aqui la dejo porsi le sirve a alguien en el fututo!!

Código: [Seleccionar]
'para abrir base sin contraseña
cn.Open "Data Source=C:\Northwind2003.mdb"

'para abrir base con contraseña
rutaBase=C:\Northwind2003.mdb
cn.Open "Data Source=" & RutaBase & ";" & "Jet OLEDB:Database Password=******"
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.