¿Una inquietud sobre un exe en Lan?

Iniciado por TheGhost(Z), 25 Noviembre 2005, 11:52 AM

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

TheGhost(Z)

A todas las personas de este foro que siempre ayudan y sugieran a los que tengan una inquietud.

Veran, pues estoy dandome el tiempo de crear un Aplicacion simple con una base de datos en acces.

La base de datos, en acces, se encuentra en una "PC" llamado "Server" y que tengo otras 5 "PC's" que se llamaran, Cliente01, CLiente02,...... y Cliente05.

Mi Objetivo es que Las "PC's CLientes" obtengan datos de la Base de datos que se encuentra en la "PC Server".

Pues he probado con una simple aplicacion donde tengo la base de datos en acces que almacena:

Tabla: Empleados
Campos: Nombre, apellidos, cargo, telefono y direccion.

Pues he creado una simple aplicacion usando DATA's

Data1.BaseName
Data1.Recorset

Data1.AddNew
Data.Edit
Data1.Update

Etc, ect y ect. Es decir conexion permanente



Pues una ves ejecutado la aplicacion mis Textbox se cargan con los campos que quiero ya que estan enlazados a mi DATA

Pues luego compilo la aplicacion y la instalo en las 5 "PC's Cliente"

y al ejecutar puedo obtener los datos en las 5 "PC's Clientes" a la ves o al mismo tiempo

Pues llegue a lo que queria! Obtener datos de la Base de datos "Trabajo" que se encuentra en la "PC Server"

¡¡¡¡He aqui mi inquietud!!!!!

Si bien es cierto que he llegado a mi objetivo y bien por ello, pero a la ves siento una curiosidad sobre lo que estara pasando interiormente y de ahi a este tema.

1.- Me preguntaba si todas las PC's Clientes que estan conectadas a la base de datos "Trabajo" ¿habra algun problema?. Es decir si CLientes1 esta en el registro 5 y Clientes2 tambien esta en el registro 5, que estara pasando?

Sera correcto esto o talves luego de estar manipulando con la PC clientes1 y clientes2 llegue a estropear la base de datos. o supongamos que PC Cliente1 se le ocurre modificar el telefono del empleado Juan y, tambien, PC Cliente2 esta modificando el telefono del empleado juan.

¿Que ocurrira si ambos estan conectados a la base de datos con un DATA y modifiquen con:?

Data1.Recorsed.Edit

Simplemente digo: Habra algun problema o no pasa nada. Simplemete si Cliente1 cambia el telefono del empleado Juan por 3885017 y luego lo guarda con:
Data1.Recorsed.UpDate

Y despues cliente2 tambien cambia el telefono del empleado Juan por 3885017 y lo guarda. ¿no pasa nada, porque no ocurre ningun problema, porque si Cliente1 lo guarda pues cliente 2 tambien lo guarda ensima y ya?..

Por todo ello pensaba probrar de la siguente manera mediante:

Cn.Open ("etc, etc, etc=" \\SERVER\D\Trabajo.mdb")
Rs.Open "select *  from Empleados ", Cn, etc, etc, ect etc


Primero abro la base de datos:
Tomo los datos que necesito
cierro la base de dato

Si trabajara de esta manera creo que no tendria problemas, ya que si CLiente1 se conecta a la BD, pues para cuando cliente2 se conecte a la BD encontrara cerrara la BD y podra comunicarse sin ningun problema. Y asi sucesivamente.

Pues asi todas las "PC clientes" estaran trabajando solo con tados obtenidos y no como el caso anterior que siempre estaba conectado a la BD mediente un DATA.

Pero tambien pensaba lo tedioso que es este segundo caso:

1.- Para empezar si tengo mil registros, pues estaria conectandome ala BD y cargar a mi aplicacion en un tabla temporal los mil registros. y para cada tabla seria lo mismo. tedioso, no?.

2- Cada ves que modifique un dato tendria que conectarme a la BD, guardar el dato modificado y cargar nuevamente los datos en una tabla temporal de mi aplicacion y desconectarmen de la BD para que los demas PC Clientes se conecten y no me encuentren cotilleando ahi y producir un posible error. Aparte de ello si despues de haber modificado el dato los demas "PC Clientes" no se enteraran de lo modificado hasta que se conecten a la BD y carguen los datos nuvamente, ¿no?.


Veran amigos todo lo que escribi este desde mi punto personal:

De ahi mi inquietud hacia uds. para que me saquen de esta duda: simplemente espero sugerencias o como uds. ya saben de estas cosas.

02 simples preguntas hacia uds.

1.-  ¿Si utilizo el primer caso habra algun problema como pienzo o no pasa nada y lo dejo asi?

2.- ¿Si el primer caso es incorrecto, seria recomendable tomar el segundo caso de abrir y cerrar la BD inmediatamente o existe otra manera?

Saludos,
Pedro Jeri


el_chente23

Bueno, no he trabajo con base de datos access en red, he trabajado con sql server para esos casos, y en sql server cuando 2 clientes quieren grabar al mismo tiempo los datos, el sql lo que hace es dejar esperando a uno de ellos mientras el otro hace su actualizacion y cuando este termina entonces procede a hacer las modificaciones del otro cliente. No creo que esa seguridad no la tenga el access.

Saludos

TheGhost(Z)

La Verdad en esto de "SQL Server" estoy cero en conocimientos. Lo unico que me suena de SQL es cuando hacen consultas "SQL" en Acces del tipo:

Select * From Empleados Where ID="1054" y ect, etc, ect.

Tendria que llevar un curso en alguna academia de por ahi... Ademas no se si el SQL Server es una aplicacion como el Acces que almaceda datos y permite hacer Formularios, Reportes, Consultas, ect. o solo sirve para almacenar datos.

¿Y si fuera solo para almacenar datos me imagino que si deseo conectarme desde Vusual basic , porque esa es mi intencion ya que esta me permite hacer cosas que en los formularios de Acces no se puede, tendria que elegir la "BD SQL" y nombre de las tablas?.

No se. en fin, Eso ya es otro tema.... por ahora me interesa saber mas opiniones sobre mi inquietud.


Saludos,

Pedro Jeri

Bourne Ultimatum

tengo un programa parecido al q decis
y no tengo problemas son 7 maquinas en red
"El pertenecia a esa clase singular de hombres que la especie produce rara vez,
en quienes el ansia de poder ilimitado es tan extremo que para conseguirlo
cualquier sufrimiento parece natural" Ernesto CHE Guevara

http://www.desdeabajorugby.com.ar

TheGhost(Z)

Ok. si dicen que no hay problema, pues lo dejare como esta..


Saludos y gracias por el aporte

Pedro Jeri