Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Proyecto, Monitoreo y Optimizacion de nuestra BD en Firebird (https://www.clubdelphi.com/foros/showthread.php?t=58070)

felipe88 14-07-2008 17:00:47

Como puedo usar esto???... desde donde son ejecutados???

jhonny 14-07-2008 17:05:22

Gbak, GSec, ISQL y otros mas... son unas utilidades que se distribuyen con el Firebird, para fines distintos (Como generar backups, cambiar opciones de usuarios, acceder a la BD, parar o correr el servicio y muchas cosas mas), estos se encuentran en la carpeta de instalación del mismo FB...

La particularidad de estas utilidades es que se ejecutan desde la linea de comandos y si quieres trabajar con ellos, puedes enviarles parametros normalmente, como se haría con cualquier otra aplicación que se ejecute desde la linea de comandos.

jhonny 14-07-2008 17:08:13

Cita:

Empezado por felipe88 (Mensaje 300298)
Para el segundo punto bien; pero dado que aplica unicamente para esta version entonces como podria saberlo con anteriores?:confused::confused:... de igual forma estare investigando y manteniendolos al tanto...

Tienes razón, entonces... seguramente el truco 31 de David Esperalta te servira para dicho fin...

http://www.clubdelphi.com/trucos/ind...ll=0&scrollb=0

felipe88 14-07-2008 17:37:35

Cita:

Empezado por jhonny (Mensaje 300328)
Tienes razón, entonces... seguramente el truco 31 de David Esperalta te servira para dicho fin...

http://www.clubdelphi.com/trucos/ind...ll=0&scrollb=0

Muy bueno, pero tendria sus exepciones en este caso, ya que parte de la funcion es la ruta del ejecutable; algo que es muy variable y se vuelve al mismo punto... como se llama la carpeta, esta tambien depende de la version... inclusive si te actualizas conserva ambos directorios.
Pienso que ya se trataria de jugar con esta funcion y el FileExists buscando el ejcutable....:cool::rolleyes:

jhonny 14-07-2008 17:51:45

Cita:

Empezado por felipe88 (Mensaje 300342)
Muy bueno, pero tendria sus exepciones en este caso, ya que parte de la funcion es la ruta del ejecutable; algo que es muy variable y se vuelve al mismo punto... como se llama la carpeta, esta tambien depende de la version... inclusive si te actualizas conserva ambos directorios.
Pienso que ya se trataria de jugar con esta funcion y el FileExists buscando el ejcutable....:cool::rolleyes:

O simplemente preguntar al usuario, la primera vez, ¿Donde tiene instalado su FB?, sinceramente creo que ese es un aspecto aislado al verdadero proposito del proyecto, te sugiero, que te centres en primer lugar en el objetivo real del aplicativo y luego si, en las demas "monerias" ;).

felipe88 14-07-2008 18:01:02

Cita:

Empezado por jhonny (Mensaje 300354)
O simplemente preguntar al usuario, la primera vez, ¿Donde tiene instalado su FB?, sinceramente creo que ese es un aspecto aislado al verdadero proposito del proyecto, te sugiero, que te centres en primer lugar en el objetivo real del aplicativo y luego si, en las demas "monerias" ;).

Bueno si lo pense fue por algo... tienes razon con lo de preguntar al usuario, ademas la razon de estas "monerias" es poder determinar que puede y que no puede hacer el programa, me explico: dadas las diferencias notables entre las versiones del FB, haran que muchas de las "novedades" generen errores al no existir en otras; la idea es controlarlos desde la entrada... acaso no seria mejor asi :confused::rolleyes:;)

felipe88 14-07-2008 18:02:38

Puede parecer un poco "saturador" tratar de entender todas estas cosas al tiempo, pero pienso que si se puede ahorrar del mismo ya sera ganacia ;)...

jhonny 14-07-2008 19:14:58

Cita:

Empezado por felipe88 (Mensaje 300358)
Bueno si lo pense fue por algo... tienes razon con lo de preguntar al usuario, ademas la razon de estas "monerias" es poder determinar que puede y que no puede hacer el programa, me explico: dadas las diferencias notables entre las versiones del FB, haran que muchas de las "novedades" generen errores al no existir en otras; la idea es controlarlos desde la entrada... acaso no seria mejor asi :confused::rolleyes:;)

Pues si, tienes razón, pero de todas formas debes notar algo... que por lo menos si vas a hacer todo esto del monitoreo desde las nuevas tablas MON$, nadie que utilice una versión anterior a la FB 2.1, podrá usar el programa, ya que dichas tablas de monitoreo, no existían ;).

Por eso es que te he sugerido lo del ODS, con él sabrás que puedes usar y que no, por ejemplo en la versión 2.1 el ODS es 11.1 y en la 2.5 sera 11.2, pero no se si no he entendido como piensas hacer lo del monitoreo, pero como te digo, si es con las tablas MON$, "solo podrás" a partir de FB 2.1.

felipe88 15-07-2008 17:07:50

Cita:

Empezado por jhonny (Mensaje 300388)
Pues si, tienes razón, pero de todas formas debes notar algo... que por lo menos si vas a hacer todo esto del monitoreo desde las nuevas tablas MON$, nadie que utilice una versión anterior a la FB 2.1, podrá usar el programa, ya que dichas tablas de monitoreo, no existían ;).

Por eso es que te he sugerido lo del ODS, con él sabrás que puedes usar y que no, por ejemplo en la versión 2.1 el ODS es 11.1 y en la 2.5 sera 11.2, pero no se si no he entendido como piensas hacer lo del monitoreo, pero como te digo, si es con las tablas MON$, "solo podrás" a partir de FB 2.1.

Tienes razon jhonny :rolleyes:... y debo ser un poco mas aterrizado en el sentido del monitoreo, ya que si hablamos de versiones anteriores solo podria trabajar con las tablas RDB$ del sistema, pero entonces como podria sacarles provecho a estas...?:confused:

jhonny 15-07-2008 19:16:01

Cita:

Empezado por felipe88 (Mensaje 300598)
Tienes razon jhonny :rolleyes:... y debo ser un poco mas aterrizado en el sentido del monitoreo, ya que si hablamos de versiones anteriores solo podria trabajar con las tablas RDB$ del sistema, pero entonces como podria sacarles provecho a estas...?:confused:

Las RDB$ te sirven para muchas cosas, pero no para el monitoreo que quieres hacer, dicho monitoreo seguramente lo podrías trabajar en versiones anteriores utilizando la API de Firebird, pero la verdad es que podría resultar bastante engorroso, en comparación a como se hace hoy por hoy, con la versión 2.1.

felipe88 24-07-2008 16:13:05

Hola compañeros,

Aunque cada vez tengo menos tiempo para sacar esta idea adelante, recurro de nuevo a ustedes para que me asesoren y me saquen de mis dudas...

1. Como conecto correctamente la bd y ejecutar los query?, lo hacia de este modo dejando las otras configuraciones (DBExpress) ya hechas.
Código Delphi [-]
SQL.Conexion.ConnectionName := 'C:\basedatos\basedatos.fdb';
SQL.Conexion.Connected;
Pero claro esta que me falta algo para poder ejecutar el query sin errores; que es?

2. Como podria saber que tablas tiene la base de datos, mediante una consulta SQL?

3. Retomando lo de las tablas RDB$, que herramientas se podrian brindar para versiones anteriores a la 2.1 ?, teniendo en cuenta claro que estas son mas que todo consultas que al fin de cuentas se podrian hacer sin problemas, y es precisamente lo que quiero cambiar; no tendria ninguna gracia un programa que haga lo mismo que podrias hacer de igual forma sin el, es ahi donde quiero hacer algo diferente... Aun estoy pensando eso :rolleyes:, alguna idea??

felipe88 24-07-2008 22:19:59

:o... aun no encuentro nada al respecto, y no tengo donde probar en este momento :(...

Alguna idea para el punto uno :confused:

felipe88 25-07-2008 22:11:53

Es mas simple realizar un procedimiento que recorra los resultados de las tablas al consultar la bd para realizar esto?

rmora03 06-05-2011 20:15:19

Cita:

Empezado por jhonny (Mensaje 299663)
En la carpeta doc que distribuyen con Firebird 2.1, hay un archivo llamado "README.monitoring_tables.txt", en él encontraras lo necesario ;).

Hola Johnny, te comento un problema que tengo al realizar la consulta a la tabla de monitoreo MON$ATTACHMENTS especificamente para consultar cuantos usuarios estan conectados a mi DB. Ejecuto la sentencia y efectivamente me muestra la cantidad de usuarios que estan conectados en ese momento, sin embargo conforme los usuarios se conectan y desconectan ese valor no cambia, es como si ese dato lo carga al momento en que ingreso al sistema y no cambia conforme al comportamiento de los otros usuarios.

Estoy utilizando el BDE para conectarme, no estoy seguro si esto tiene algo que ver.

Saludos

Randall

guillotmarc 06-05-2011 21:03:10

Cita:

Empezado por rmora03 (Mensaje 399223)
Hola Johnny, te comento un problema que tengo al realizar la consulta a la tabla de monitoreo MON$ATTACHMENTS especificamente para consultar cuantos usuarios estan conectados a mi DB. Ejecuto la sentencia y efectivamente me muestra la cantidad de usuarios que estan conectados en ese momento, sin embargo conforme los usuarios se conectan y desconectan ese valor no cambia, es como si ese dato lo carga al momento en que ingreso al sistema y no cambia conforme al comportamiento de los otros usuarios.

Estoy utilizando el BDE para conectarme, no estoy seguro si esto tiene algo que ver.

Saludos

Randall

Hola.

¿ Vuelves a lanzar la consulta ?, es que tienes que volver a lanzar la consulta para leer de nuevo los valores de las tablas de monitorización.

Además, es muy probable que tengas que cerrar y volver a abrir la transacción. Puesto que según el nivel de aislamiento que utilices, cada transacción es como si tuviera su propia copia de la base de datos, y no se ve afectada por los cambios introducidos desde otras transacciones. Así que si quieres ver los nuevos registros introducidos en una tabla, tienes que cerrar esa transacción y verlos desde una nueva transacción.

Saludos.

rmora03 07-05-2011 02:02:43

Hola Marc

Lo solucioné desconectando y volviendo a conectar la conexión en el Data modulo. Gracias por tus consejos.

Saludos


La franja horaria es GMT +2. Ahora son las 16:52:02.

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