Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema al abrir un programa (https://www.clubdelphi.com/foros/showthread.php?t=92720)

heiverp 10-01-2018 17:21:15

Problema al abrir un programa
 
Hola Amigos,

Tengo un menú que se conecta a la bd con firedac, estoy intentando ejecutar un .exe de otro programa (hecho en delphi también) desde el menu, pero este hace conexion por medio del bde, haciendo seguimiento, el programa que intento llamar desde el menu genera error al conectarse a la base de datos, al ejecutarlo por fuera del menu se ejecuta correctamente, no se si se este generando algun conflicto entre las dos conexiones.

¿Que puedo hacer?

Agradezco su amable colaboraciòn

duilioisola 10-01-2018 18:18:10

Sería de mucha utilidad que nos informaras del texto del error.

Suponiendo muchas cosas te voy a responder algo, pero puede ser que no tenga nada que ver con el error.

Cita:

Verifica de dónde obtiene el segundo programa los datos de conexión.
Quizás los toma de un archivo INI que busca el la carpeta local.
Puede ser que el programa que ejecutes se esté ejecutabdo en otra carpeta y por lo tanto no encuentre el INI.

Me refiero a la carpeta que se le pasa como carpeta local.
Mira el acceso directo a cualquier ejecutable de tu ordenador.
En la solapa "Acceso directo" tienes dos Edits
Destino: [C:\Carpeta\Ejecutable.exe]
Iniciar en: [C:\Carpeta]
Esta segunda carpeta podría ser diferente a la del ejecutable.

heiverp 10-01-2018 19:09:33

El mensajede error es: ORA-03114: no conectado a ORACLE Alias :---------

De hecho intente quemando los datos de conexión dentro del programa que estoy llamando desde el menú y aun así se genera el error.

movorack 10-01-2018 20:59:13

Hola, Heiver!

¿Si son los mismos parámetros de conexión cuando conectas por fuera (¿Es linea de comandos?) a cuando se ejecuta desde el menú?

gatosoft 10-01-2018 21:09:04

Hola Heiverp,

Si el programa se ejecuta "desde afuera" correctamente el problema, como dice Movarak debe ser de los parámetros con los que se llama la aplicación. el menú debe estar enviando una linea de comandos con la cadena de conexión o cualquier otro indicador.

El error que mencionas ORA-03114 se debe comunmente a que no se encuentra el alias en el TNS names o el listener no está activo...

Revisa también que el menú esté llamando correctamente al ejecutable que estas probando

saludo,

TOPX 10-01-2018 21:10:53

hola Amigo,

Sin mayor información, lo que debe hacer es verificar que la ejecución directa es exactamente igual a la ejecución desde el kmenú, para ambas cosas son lo mismo:
  • El equipo (pc)
  • El sistema operativo
  • El usuario logueado
  • El archivo ejecutable
  • Los parámetros por línea de comando
  • Los archivos .ini, .cfg, que apliquen
  • La cadena de conexión (tnsnames, usuario)
  • etc
-

heiverp 10-01-2018 21:34:11

Ya compare los datos de conexión y son los mismos,

estoy intentado ejecutar el programa de las siguientes maneras y ninguna funciona:
- Winexec("ruta del ejecutable+ parametros ", SW_SHOW);
- ShellExecute(Handle,'open',PWideChar("Ruta del ejecutable"),PWideChar("parametros"),nil,SW_SHOW);

Para hacer un poco mas claro el tema

el menú esta en delphi xe 10.2 y utilizo un tfdconnection para la conexión a la bd

el programa que se invoca esta en delphi 2005 y utiliza un tdatabase para su conexion.

Encontré una solución temporal que no me genera error y fue agregar en el menu un objeto tdatabase y hacer la conexión.

Luego abrir la conexion del objeto tfdconnection y luego invocar el programa.

Asi funciono.

Aunque no creo que sea una solución muy acertada.


La franja horaria es GMT +2. Ahora son las 11:25:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi