 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mar 25 May, 2004 5:53 pm Asunto: Bloquear tabla mientras se edita en red |
|
|
Antes de poner el proyecto en marcha quisiera preguntaros si es posible que en una base de datos PARADOX instalada en un determinado equipo se acceda desde otro equipo a través de una red local LAN y si es así evitar que dos usuarios accedan al mismo registro a la vez. Supongo que si, pero como va a ser lo primero que haga de esas características me irian bien algunos consejos u orientaciones y si son ejemplos mejor que mejor . _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 25 May, 2004 8:47 pm Asunto: |
|
|
Una idea, que creo ronda por mi cabeza, es la de poner un campo, boolean tal y cual funciona en las estructuras DBF, claro esto va de manera interna, es mas el programador nunca se da cuenta, cuando el campo existe.. si ves la estrcutura de un DBF, te daras cuenta, que cuando sumas la cantidad de bytes, del registro.. este siempre tiene uno mas, es decir
campo tipo longitud
nom a 40
la estructura deberia tener 40 bytes, pero tiene 41, asumo que ese bit de mas es el que se pone en estado de lock o Unlock,
puede ser que cuando entres a modificar el archivo y te posiciones en un solo registro, marques con 1 como ocupado, este campo asi, cuando llegue otra aplicacion a tratar de modificar no pueda, si encuentra la marca de 1,
espero haberme expliacado...
saludos.. _________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mar 25 May, 2004 9:15 pm Asunto: Re: Bloquear tabla mientras se edita en red |
|
|
te paso textual la infromación:
| Cita: |
Adding a new alias
The purpose of the BDE administrator is to add and configure alias definitions. To add a new alias
Be sure that the focus is on a table which is not Opened
From the menu, select Object / New...
From the combobox, select Standard for Paradox, DBase, FoxPro, or ASCII databases. Otherwise, select one of the supported ODBC types.
Click OK and enter the BDE alias name in the highlighted box
At this point, you need to enter configuration data which varies based on the type of database
In the lefthand pane, the green arrow indicates that the alias definition has not been saved. From the menu, select Object / Apply (or use the associated toolbar button) to save the alias definition. (Of course, you can Delete it if you want.)
For Paradox, DBase, FoxPro, or ASCII databases, select Standard and set the Default Driver to one of the following
Paradox DBase FoxPro ASCIIDRV
Once a new alias is added via the control panel, you need to close and re-open Delphi in order to see it via Database / Explore.
Borland provides sample Paradox, dBase, and Interbase/Firebird databases under
C:\Program Files\Common Files\Borland Shared\Data
When connecting to these over a network, and when the fileserver is NT, 2000, or XP, you will probably have to add Write and Change (or Modify) to the default directory permissions for Everyone. |
| Cita: |
Paradox Databases
A Paradox database is a directory - tables are stored as one or more files within the directory.
To create a new alias, follow the instructions above, select the Standard driver, and set the following parameters.
Property Value Comments
Default Driver Paradox Select this from the pick list
Path This is the directory that contains the tables (*.db files)
--------------------------------------------------------------------------------
PDOXUSRS.NET
Paradox tables are generally locked on a "per record" basis. This is managed by having all Paradox lock requests written to a single "Lock file" (one per database/directory). These lock files contain a pointer to the directory containing PDOXUSRS.NET. In order for this to work, each machine must access PDOXUSRS.NET using the exact same drive letter and path. If the drive letter is "p" on one machine, then it must be "p" for every machine on the network.
Typically, PDOXUSRS.NET and the databases are all on the database server, but in different directories. However, they do not have to be on the same machine. When several database servers are used, one of them is normally selected for PDOXUSRS.NET and none of the databases can be used if that server is off-line.
Locking problems are usually caused by misconfiguring one of these. If these rules are not followed, then there are severe locking problems.
In English, what this means is that every system on the network must have the drive containing the database mapped to the same drive letter. If one system has the database mapped to drive-p, then every computer with access to that database must also have it mapped to drive-p. In addition, the path to the lock file must be the same on all the machines
You must be sure that the computer that actually hosts the database does not use a local drive letter (such as the c-drive). If the database is accessed via p:/myTables on one machine, it must use the same path on all the machines.
--------------------------------------------------------------------------------
Setting the PDOXUSRS.NET file path
Open the BDE Administrator via the Control Panel (this can't be set if you open it via Delphi). Click the Configuration tab and set
Configuration / Drivers / Native / Paradox / Net Dir
to the location of PDOXUSRS.NET.
Notice that PDOXUSRS.NET is not associated with a specific database. When there is more than one Paradox database, then they all share the single PDOXUSRS.NET file.
|
|
|
| Volver arriba |
|
 |
Rigoberto Martínez Ramíre Cdt

Registrado: 19 May 2004Mensajes: 16
|
Publicado: Mar 25 May, 2004 9:31 pm Asunto: Re: Bloquear tabla mientras se edita en red |
|
|
Olvide ....
en esta dirección podrían ayudarte con respecto a lo que preguntas ...
http://www.thedbcommunity.com
no he trabajado mucho con paradox .... asi que no puedo reponderte con mi experiencia con respecto a colisiones ... pero tengo entendido que existe el bloqueo automático en Paradox (PDOXUSRS.NET).... espero que lo anterior y la liga que te envio te ayuden y sería bueno que igual publicaras tu conclusión
La verdad si puedes evitar utilizar Paradox mejor ... ahi esta FireBird 1.5 Released |
|
| Volver arriba |
|
 |
Rigoberto Martínez Ramíre Cdt

Registrado: 19 May 2004Mensajes: 16
|
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mar 25 May, 2004 9:42 pm Asunto: |
|
|
Gracias por sus respuestas amigos pero me temo que esto va a ser demasiado complicado para mi, no me estoy enterando de casi nada, tal vez debiera cambiar de base de datos pero no se cual elegir ya que hasta hoy sólo he trabajado con PARADOX y no se si los otros tipos se manejan de la misma forma. En fin, poco a poco iré mirando los enlaces que me habeis puesto e intentaré pillar algo y si lo consigo os lo haré saber. Gracias a todos. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Rigoberto Martínez Ramíre Cdt

Registrado: 19 May 2004Mensajes: 16
|
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Vie 28 May, 2004 11:17 am Asunto: |
|
|
Tuqui que yo sepa (por lo que me han comentado usuarios al respecto), Paradox tiene un sistema de bloqueos a traves del registro implementado en la propia BD, imagino que simplemente tendrás que hacer un Lock y ese registro estará bloqueado por el usuario, hasta que lo desbloquee, esto aun así puede generar problemas de bloqueos indefinidos o no liberados, esta estrategía se llama bloqueo pesimista, pues solo garantiza el acceso para el usuario que bloqueo el registro, las otras alternativas son los bloqueos optimistas (como te puedes imaginar)...
Imagino que no te aclaro nada, pero busca por ahí que seguro que encuentras lo que te hace falta.
Aun así como recomiendan otros, Firebird es una muy buena BD y es una opción la mar de interesante, pero de todos modos, puede que Paradox para un par de usuarios y poca carga trabaje incluso mejor que Firebird... Hay que saber porque y cuando elegir una opción u otra, no siempre la más potente va a ser la mejor opción...
Ciao. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Vie 28 May, 2004 11:27 am Asunto: |
|
|
Ya que me reoomendais FireBird me gustaría que me aclaraseis varias dudas que tengo al respecto:
-¿es lo mismo firebird que interbase?
-¿el firebird también funciona en un equipo con un motor tipo BDE o tal vez utiliza también el BDE?
- Yo utilizo el BCB6 Enterprise y en su instalación puedo elegir que me instale también el Interbase server y cliente también, ¿con eso tengo suficiente?
- Y por último pues no me vendría mal documentación con ejemplos pero a ser posible sencillitos ya que voy a empezar desde cero con esto de InterBase.
Muchísimas gracias a todos, sois estupendos . _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Vie 28 May, 2004 1:50 pm Asunto: |
|
|
| Tugui escribió: | Ya que me reoomendais FireBird me gustaría que me aclaraseis varias dudas que tengo al respecto:
-¿es lo mismo firebird que interbase?
-¿el firebird también funciona en un equipo con un motor tipo BDE o tal vez utiliza también el BDE?
- Yo utilizo el BCB6 Enterprise y en su instalación puedo elegir que me instale también el Interbase server y cliente también, ¿con eso tengo suficiente?
- Y por último pues no me vendría mal documentación con ejemplos pero a ser posible sencillitos ya que voy a empezar desde cero con esto de InterBase.
Muchísimas gracias a todos, sois estupendos . |
1º No, no es lo mismo Firebird que Interbase, lo más parecido es Interbase 6.0 Open Source y Firebird 1.0x, pues Firebird 1.0x se desarrolló a partir del codigo fuente para Interbase 6.0 OS, pero obviamente no es lo mismo, y con el tiempo ha ido separandose cada vez más, en la versión 1.5 de Firebird ya cambian muchas cosas, y para la versión 2.0, el salto será mayor aun.
2º BDE es una capa de abstración para conexión con bases de datos, para poder utilizar un SGBD bajo BDE, hace falta un driver de puente entre BDE y el SGBD, Interbase si lo tiene y se proporciona con BDE, sin embargo Firebird no lo posee luego no podras utilizarlo con Firebird 1.5 o superior, sin embargo si que podrás con Firebird 1.0x, ya que BDE se creerá que esta utilizando Interbase, al utilizar el driver INTRBASE con el BDE. Otra solución para utilizar cualquier SGBD bajo BDE, es utilizar, un driver ODBC y luego hacer de puente con el BDE, pero claro, pierdes funcionalidad generalmente del SGBD al no acceder nativamente, además de estar introduciendo otra capa más de abstracción.
3º Con Interbase Server e Interbase Client, tendrás lo suficiente para usar el BDE e Interbase, si por ejemplo quieres usar Firebird, debes instalar los binarios de Firebird.
4º Firebird 1.5 no tiene documentación disponible online, así que te sugiero que hagas lo siguiente busca los archivos de documentación de Interbase 6.0 Open Source, ocupan como 10Mb en zip y son un conjunto de PDFs donde se explica todo, Referencia del Lenguaje, API, etc, etc, son muy útiles y te servirán también con Firebird. Luego te buscas los cambios que se han introducido en Firebird y con eso ya téndrás mucho por donde empezar.
Como ultimo te sugiero que si eliges Firebird 1.5 o superior te busques un buen driver para conexión con el SGBD, tienes varios de pago y gratis, IBObjects, FIBPlus, IBPP, UIB, etc. Estos te servirán tanto con Interbase como con Firebird y te darán acceso nativo al SGBD.
En fín espero haber aclarado algunas de tus dudas, y espero no haberme equivocado mucho en mi respuesta...
Cuidate Tuqui.
 _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Sab 29 May, 2004 8:49 am Asunto: |
|
|
Capas de abstracción?, SGBD?, creo que hay demasiados términos que ignoro . Creo que empezaré con InterBase que ya viene con el CD del BCB 6 y tiene su paleta de componentes integrada y documentación incluida. Cuanto más leo más me lio. Gracias a todos, ya os comentaré que tal me fue. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Sab 29 May, 2004 11:26 pm Asunto: |
|
|
Mira Tuqui, siento despejarte la duda de un termino con otro término, realmente no sé si BDE se creó con ese fín, pero imagino que sería parte de la idea principal, es decir, proporcionar un nivel de abstracción y así poder ignorar el SGBD que hay por debajo, imaginate:
Tienes una aplicación hecha en Builder usando por ejemplo Paradox, ahora en un momento determinado decides mudarte a Interbase, pues gracías a la capa de abstración podrías cambiar de SGBD (Sistema Gestor de Base de Datos), sin cambiar lineas de código en lo referente al acceso a la BD, comprendes ?
La idea "creo" era la ofrecer un conjunto de funciones y procedimientos para acceder a cualquier BD de forma uniforme sin tener en cuenta a un SGBD concreto y así poder ejecutar la misma aplicación sin tener que cambiar código...
Espero haberte aclarado algo más sin introducir más incertidumbre..
Ciao. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|