PDA

Ver la Versión Completa : Encuesta: Motivos por los que no deberíamos usar el BDE (para una red local)


Muten
31-08-2003, 13:46:34
Hola a todos!
No paro de leer por todas partes que paradox en red no es aconsejable, como ando algo verde en el tema, he pensado crear este hilo para que todos los q conozcan motivos importantes y tengan un poco de tiempo para contestar, los escriban aquí. De esta forma todos los q nos estemos iniciando con BBDD en delphi, no cometamos el error de darnos cuenta los motivos por los q el BDE está obsoleto, cuando tengamos el programa casi terminado y tener q dar marcha atrás.

Empezaré yo con uno q me fastidia mucho: el tema del bloqueo de registros es una porquería, hay q controlar muchas cosas..

Bueno, pues os animo a poner motivos que os hayan impulsado a usar Interbase o Firebird.

Saludos a todos.

Mick
31-08-2003, 17:46:33
Paradox e Interbase son tecnologias distintas, depende de cada proyecto en particular el decidir si se debe usar un sistema u otro:
-En general, si son pocos puestos, facil instalacion, necesitamos que el software permita navegacionalidad total, y
mayor rapidez en general, un sistema de tablas planas es lo aconsejable.
-En cambio si el numero de puestos es elevado, y necesitamos una seguridad mucho mas elevada, es aconsejable un sistema cliente/servidor como interbase.

En cuanto a los problemas en red, se pueden dar problemas en paradox (igual que en cualquier otro sistema no cliente/servidor como dbase, etc), eso sí el 99% de los problemas son causados por hardware defectuoso, desgraciadamente la mayoria de programadores no conocen de hardware y de administracion de redes por lo tanto se hace muy complicado solucionar problemas de este tipo.
Si buscamos en google o en estos mismos foros, veremos que hay muchos mensajes de problemas de corrupcion de datos con cualquier sistema, sean sistemas de tablas planas o cliente/servidor ya que ningun software se libra de problemas si el hardware sobre el que corre no funciona correctamente.
La diferencia principal es que, en un sistema de tablas planas el malfuncionamiento de cualquier equipo cliente de la red puede corromper o provocar incongruencias en los datos.
En un sistema cliente servidor, solo el malfuncionamiento del servidor puede provocar este tipo de problemas (eso sí siempre que el programa y la base de datos este correctamente diseñada).

En cuanto el problema que tienes con los bloqueos no entiendo a que te refieres.

Salud2 !!!

Muten
01-09-2003, 18:20:56
hola Mick, gracias por contestar.

Con el tema de los bloqueos he tenidos muchos problemas, por decirte uno, el último que me ha surgido es cuando tenemos configurado un directorio de red(NetFileDir) por defecto en el BDE Administrator para paradox, y tenemos un directorio de red distinto en nuestra aplicación(mediante un objeto TSession).
Si abrimos una de las tablas con el Database Desktop e intentamos abrir un programa q use esa tabla, me lanza una excepción diciendome q el directorio está controlado por otro archivo..
No he usado interbase ¿pero q ocurre si intentas modificar un registro y otro usuario intenta borrarlo mientras lo estás modificando? En paradox debes controlar la excepción q genera (o evitar q se produzca), si no, nadie sabe q puede pasar.. De esa excepción me he percatado ¿pero qué pasa con las q no he tenido en cuenta porque no me han ocurrido todavía?¿Ocurre lo mismo en IB?

Saludos a todos.

Mick
01-09-2003, 22:13:38
En interbase no se usan bloqueos pesimistas como en paradox, pero si 2 usuarios intentan trabajar a la vez sobre un mismo registro (2 modificaciones simultaneas por ejemplo) lo que pasara es lo normal:
Se producira una excepcion en uno de los clientes, que habra que controlar por codigo y hacer lo que sea necesario.

El mecanismo de excepciones es algo fundamental que se usa en delphi para todo, no solo para acceso a base de datos, y se debe utilizar en todo programa en el que se quiera tener un minimo control de errores.

En cuanto al problema de bloqueos que has mencionado con el BDE, no es un problema en si, es una cuestion de diseño, si dos aplicaciones no usan el mismo netdir el sistema no tendria forma de controlar los accesos concurrentes por eso el motor de base de datos avisa del problema (peor seria que no dijese nada y se corrompiesen los datos por acceder a la vez a las tablas sin control de concurrencia adecuado).

Salud2 !!!