• Domingo 28 de Abril de 2024, 21:46

Autor Tema:  Poner Mi Sistema En Red  (Leído 3036 veces)

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Poner Mi Sistema En Red
« en: Jueves 9 de Febrero de 2006, 18:41 »
0
Necesito hacer un sistema para la facultad.

El sistema tiene que ser capaz de soportar 10 PCs más en red.

Tiene que tener en cuenta que la información de cada pc debe actualizarse
Instantáneamente y automáticamente, si un usuario de una pc modifica , da de alta o elimina algún registro.

La base de datos debe residir en un equipo que a su vez actúa de cliente.

Si dos usuarios o más al mismo tiempo desean tocar registros diferentes en una misma tabla, que puedan hacerlo.

Si dos o más usuarios desean justo hacer operaciones sobre el mismo registro en la misma tabla que el sistema del mensaje pertinente.

El sistema es un sistema de stock y clientes, el sistema esta hecho pero me falta esto (ponerlo en red) hacerlo multi-usuario, creo que así se los llama a los sistemas que actúan en red.

Pensé en trabajar con winsock pero me dijeron que para esto no es necesario.

Además me dijeron que necesito al estar la aplicación en red, realizar n control de perfiles de usuarios.

Actualmente la base de datos que uso de Access, pero me dijeron que migre a MySQL, ya que es mas facil y el tema de la red lo maneja de manera automática. NO se si es cierto.

Por favor ayuda

Gracias

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #1 en: Jueves 9 de Febrero de 2006, 21:04 »
0
SAlu2. Lo mas sencillo, probablemente sea usar ODBC. Siempre he utilizado unidades de red a la carpeta donde esté la db desde todos los puestos y nunca he tenido problemas.
   Aunke he leido facultad, y si lo quieres por un ejercico que te han pedido dudo que te dejen hacer unidades de red :).

Espero que te sirva.
 :comp:  :smartass:
Mi mujer tiene un físico bárbaro!!!. Einstein.

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #2 en: Viernes 10 de Febrero de 2006, 01:26 »
0
Te agradezco tu ayuda, pero eso es solo una parte de la códificación puesto que todavia me falat estos temas:

-Como realizar un control de usuarios (perfiles)
-Como hacer que dos o m,as usuarios puedan estar operando (ABM) sobre la misma tabla pero en registros diferentes.
-Como manejar el tema que más de un usuario quieran operar sobre el mismo registro en la misma base de datos. ?

Como hacerlo multi-usuario, sobre todo con el tema de los remitos numerados ?

Gracias

hdr

  • Miembro MUY activo
  • ***
  • Mensajes: 128
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #3 en: Viernes 10 de Febrero de 2006, 02:11 »
0
hola.
para solucionor lo de la db en red debes utilizar un motor de base de datos cliente servidor que te solucione esto, puedes utilizar sqlserver express, mysql,firebird
firebirtd es mi preferido.
para lo de varios usuarios modificando el mismo registro puedes utilizar modos de bloque de registro en los recordset.
lo de control de usuarios es algo mas complejo dependiendo de que es lo que quieres hacer, solo usuarios o usuarios y grupos con permisos.

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #4 en: Viernes 10 de Febrero de 2006, 04:01 »
0
Hernan,

Que ventaja tiene firebird respecto de mysql, ? te comento que actualmente la base de tados del sistema se encuentra en access y es una base de datos relacionada.

Te pregunto de donde puedo bajar el firebird y , me gustaria saber si soporta bases de datos muy grandes, ademas de como debo usarlo para llevar mi actual base de datos de access para quie funciones con firebirs.

Y respecto de los usuarios.

Inicialmente necesito que varioa usuarios puedan estra modificando variaos registros de una misma tabla, y que hacer en caso de que dos usuarios quieran mofificar el mismo regisatro.

Y bueno,,, te agbradeaco la ayuda

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Re: Poner Mi Sistema En Red
« Respuesta #5 en: Viernes 10 de Febrero de 2006, 13:23 »
0
Muy buenas, yo hago aplicaciones en red y para ello, también hago un sistema de bloqueos. Por si te vale te lo explico:

Tengo una tabla Bloqueos donde guardo:
- Key del registro que está bloqueado
- Código de usuario

Cuando el usuario entra en la aplicación, hago un DELETE de la tabla filtrando por el código de usuario por si el usuario tenía algun registro bloqueado (por ejemplo estaba editando un articulo y se va la luz).

Después, imaginemos que tenemos una tabla que tiene 3 campos, de los cuales id1 e id2 son clave primaria. Entonces mi key sería: clsNombreTabla#CamposClave

clsNombreTabla#id1#id2

Cuando un usuario intenta editar un artículo, miro si está bloqueado ese registro y si no lo está lo bloqueo, en el caso contrario se lo muestro en sólo lectura. Al terminar de editar un artículo desbloqueo el registro.

Espero haberte ayudado.
« §hÿqµïllæ »

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #6 en: Viernes 10 de Febrero de 2006, 13:36 »
0
Shiquilla

Gracias, por lopa excelente explicacion, pero me gustaria si puedes esplayarte un poco mas sobre esa tabla de bloqueos como la haces, que campos tiene, no comprenso esa parte, ademas que motor usas para la base de datos en red.

Si no es molestia me guataria contactarte por MSN o mail,

mi mail y msn es: seba_m@arnet.com.ar

gracias

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Re: Poner Mi Sistema En Red
« Respuesta #7 en: Sábado 11 de Febrero de 2006, 13:08 »
0
Buenas Seba_m, ya te agregué al MSN.

Mi metodología a la hora de hacer un programa es hacer, por cada tabla, una clase donde tengo las operaciones más frecuentes que se harán sobre esa tabla (recuperar un registro, insert, update....).

Por ejemplo, imaginate que tengo una tabla Clientes. Cuyos campos son:
- idCliente (clave primaria)
- Nombre
- Direccion

Entonces, en mi proyecto tendré una clase que se llamará clsClientes.

En la clase, tengo una propiedad que devuelve la Key del cliente de esta forma:
clsClientes#CamposClave (por ejemplo si recupero el cliente 1 entonces será --> clsClientes#1)

Hasta aquí bien, ahora vamos con el sistema de bloqueos.

Tengo una tabla que se llama Bloqueos que tiene los siguientes campos:
- sKeyRegistro
- idUsuario

Si el usuario 34 está editando el cliente 1, en la tabla Bloqueos habrá un registro tal que asi:

sKeyRegistro                idUsuario
clsClientes#1                                                34


Ahora, si el usuario 50 quiere editar el cliente 1, hago lo siguiente:

goBD = la conexion a la bd
goUsuario = clase de usuario global a la aplicacion que contiene el codigo de usuario (en este caso será el 50)

Código: Text
  1. Public Function gfbBloquearRegistro(loObjecto As Object) As Boolean
  2. Dim lsSQL As String
  3. Dim loRS As Recordset
  4. Dim lbBloqueado As Boolean
  5.     
  6.     'Si el registro no está bloqueado entonces lo bloqueo
  7.     
  8.     lbBloqueado = False
  9.     
  10.     lsSQL = "SELECT * FROM Bloqueos WHERE sKeyRegistro = " & loObjecto.MPSCODIGO 'Propiedad que me devuelve la Key
  11.     Set loRS = goBD.Execute(lsSQL)
  12.  
  13.     lbBloqueado = Not loRS.EOF
  14.     
  15.     If Not lbBloqueado Then
  16.         lsSQL = "INSERT INTO Bloqueos VALUES (" & loObjecto.MPSCODIGO & "," & goUsuario.midUsuario & ")"
  17.         goBD.Execute lsSQL
  18.     End If
  19.     
  20.     loRS.Close
  21.     Set loRS = Nothing
  22.  
  23. End Function
  24.  
  25. Dim loCliente As clsClientes
  26. Dim lbBloqueado As Boolean
  27. Set loCliente = New clsClientes
  28. loCliente.MPSCODIGO = "clsClientes#1"
  29.  
  30. lbBloqueado = gfbBloquearRegistro(loCliente)
  31. If lbBloqueado Then MsgBox "EL registro está bloqueado bla bla bla"
  32.  

Bueno, por aquí no consigo explicartelo mejor. A ver si entras al MSN y te lo explico más detalladamente.

SObre el sistema de base de datos, yo uso este sistema para cualquier gestor de base de datos (lo he usado tanto para Access como para SQL Server)

Saludos,
« §hÿqµïllæ »

seba_m

  • Miembro activo
  • **
  • Mensajes: 99
    • Ver Perfil
Re: Poner Mi Sistema En Red
« Respuesta #8 en: Domingo 12 de Febrero de 2006, 17:11 »
0
Gracias, ya te agrege y luego hablamops para que me expliques bien , ademas he decidiod adoptar MySQL 5.0

Saludos