| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 25 Oct, 2010 12:20 pm Asunto: Error BDE al abrir 2 aplicaciones con las mismas tablas |
|
|
Hola a todos,
Os comento mi problema, tengo dos aplicaciones diferentes que abren las mismas tablas en las mismas carpetas, lo extraño es que me da un error de BDE si abro una antes que la otra, pero si lo hago al revés no.
El Error que da es "Borland Database Engine (error $210D)"
Imagino que en una de ellas tengo algo extraño, pero no termino de encontrarlo después de mirar y remirar.
Se os ocurre por que puede ser?
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 25 Oct, 2010 3:37 pm Asunto: |
|
|
Pues creo que si,
Estoy mirando y remirando, no se donde puede estar la diferencia, tengo un TSession en cada uno y los parámetros creo que son iguales, sigo mirando por si se me queda algo en el tintero, pero en un principio parece que están iguales.
Hay alguna configuración especial para paradox con el bde? para que no se peguen en red? por que imagino que es lo mismo que para dos aplicaciones en local?
No se, no veo el problema, sigo mirando a ver.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 25 Oct, 2010 4:17 pm Asunto: |
|
|
Yo tengo montadas aplicaciones en red con Paradox y no he tenido que tocar el BDE. Te pongo el código que uso yo para este tipo de accesos:
| Código: | Session1->PrivateDir = ExtractFilePath(Application->ExeName);
Session1->ConfigMode = cmSession;
Session1->NetFileDir = cAcceso;
try
{
Session1->AddStandardAlias("miAlias", cTablas, "PARADOX");
}
catch(...)
{
}
// ***********************************************************
// * Se activan la sesión, la base de datos y las tablas que correspondan.
// ***********************************************************
Session1->Active = true;
Database1->Connected = true;
Session1->OpenDatabase(fPersonas->Database1->DatabaseName); |
cTablas es una variable que leo de un fichero ini (puedes guardar el valor en el código) y que contiene la vía de acceso a las tabla. Por ejemplo: C:\DatAfi21\Tablas; y cAcceso es otra en al que guardo donde gestiona el BDE los ficheros de control de la red. Las dos variables son IGUALES para todos los equipos.
Espero que te sirva _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 25 Oct, 2010 4:32 pm Asunto: |
|
|
| Angel escribió: |
try
{
Session1->AddStandardAlias("miAlias", cTablas, "PARADOX");
}
cTablas es una variable que leo de un fichero ini (puedes guardar el valor en el código) y que contiene la vía de acceso a las tabla. Por ejemplo: C:\DatAfi21\Tablas; y cAcceso es otra en al que guardo donde gestiona el BDE los ficheros de control de la red. Las dos variables son IGUALES para todos los equipos. |
Dos preguntitas, la primera es por que usas ALIAS? yo no los uso, apunto directamente donde tengo las tablas, mejora la gestion de las tablas el utilizar un ALIAS?
Y segundo, en el caso de las variables si tienes diferentes rutas en la red, aunque acaben en la misma carpeta es lo mismo? no habria problema? por que en un ordenador se llame a la letra M: y en el otro la J: por ejemplo? la variable cAcceso es una ruta en red o cada uno local en su ordenador?
Nada más que no te quiero marear.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 25 Oct, 2010 4:43 pm Asunto: |
|
|
Una preguntita más,
En la linea "Session1->ConfigMode = cmSession;"
Que es cmSession?
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 26 Oct, 2010 7:19 am Asunto: |
|
|
Es el modo en que se "guarda" el alias. En la ayuda de Builder viene como cfmSession, pero es cm. Especifica la forma en que se trata el alias; con cmSession el alis está vivo mientras esté abierta la sesión actual. Mira la ayuda de ConfigMode. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 26 Oct, 2010 10:23 am Asunto: |
|
|
Vale,
Voy a probar y te cuento.
Muchas gracias,
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 26 Oct, 2010 10:56 am Asunto: |
|
|
Perdona, que no había visto este mensaje anterior tuyo.
| Carlos J. Fernandez escribió: | | Dos preguntitas, la primera es por que usas ALIAS? yo no los uso, apunto directamente donde tengo las tablas, mejora la gestion de las tablas el utilizar un ALIAS? |
El alias es para que el BDE sepa que un conjunto de tablas es parte de una base de datos. Es como si fuera un contendor de todas las tablas y querys que uses. Si te fijas en los TTable y TQuery hay dos propiedades (DatabaseName y SessionName); ahí tienes que poner el alias (en DatabaseName) y el SessionName que definas en TSession. Los nombres de DatabaseName y SessionName tiene que ser distintos. Yo suelo usar el mismo nombre poninedo una d delante del DatabaseName y una s delante del SessionName.
| Carlos J. Fernandez escribió: | | Y segundo, en el caso de las variables si tienes diferentes rutas en la red, aunque acaben en la misma carpeta es lo mismo? no habria problema? por que en un ordenador se llame a la letra M: y en el otro la J: por ejemplo? la variable cAcceso es una ruta en red o cada uno local en su ordenador? |
Da lo mismo. Cada equipo tendrá sus propios acceso. Yo lo que hago, para evitar sustos como que desaparezcan las letras de las unidades, es poner la dirección absoluta; por ejemplo: \\Servidor\Tabas. Así evitas que si se modifican las asignaciones de unidades no puedas conectar o tengas que andar definiendo de nuevo los accesos.
| Carlos J. Fernandez escribió: | | Nada más que no te quiero marear. |
Por las veces que yo he dado la lata con tonterías. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 26 Oct, 2010 12:57 pm Asunto: |
|
|
Angel,
Muchas gracias por todo, voy a unir todo lo que me has dicho y rehacer todo el código de los dos programas para que estén igual poniendo Alias y todo eso, seguro que así ya no vuelvo a tener problemas.
Ya te contare.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 26 Oct, 2010 3:36 pm Asunto: |
|
|
Pues encantado,
Mandamelo a cjfernan@hotmail.com.
Muchas gracias así compruebo las diferencias con el mio y aplico lo que me dices.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Jue 28 Oct, 2010 11:57 am Asunto: |
|
|
Angel,
Una cosilla, ya he puesto todo en uno de los programas y parece que va bien, pero al cerrar me aparece este mensaje.
No se si tiene algo que ver o no.
A que crees que se debe?
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Jue 28 Oct, 2010 12:35 pm Asunto: |
|
|
Builder 6,
No deberia tener mucha diferencia, es que ademas tengo el maldito error 2501 que me persigue, da cuando quiere el error y cuando no quiere.
Ya no se por donde tirar.
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
|