Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
como averiguar la cadena de instruccion SQL dentro de una aplicacion

buenos dias

dentro de mis labores mi unidad esta realizando una auditoria a un ERP, tengo entendido que el MSSQL Server posee la caracteristica de "capturar" la cadena con los comandos del SQL y las muestra en una grilla

el Personal de TI (celoso o cauteloso no lo se) no nos quiere instalar esa caracteristica....

la pregunta... existe algun otro programa que pueda darme lo que necesito?

gracias por la atencion
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 22-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Si no me equivoco MS SQL server tiene y crea los llamados registros de transacciones, pero no sé si te servirá para lo que pretendes..
La opcion que veo es que uses un componente similar o igual al TZSQLMonitor que tienen los componentes Zeos , o similar al TIBSQLMonitor de la pestaña "InterBase" de la paleta de componentes de Delphi; ya que tales componentes monitorean todas las sentencias SQL enviadas al servidor, e inclusive te lo guardan en un archivo...; lógicamente eso dependerá de qué componentes estés utilizando para conectarte a MS sql server....
Sino me equivoco tambien existen programas(herramientas,software) externos que pueden monitoriar las sentencias SQL enviadas al servidor de base de datos...
Espero te sea de utilidad...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 22-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por rgstuamigo Ver Mensaje
[...] eso dependerá de qué componentes estés utilizando para conectarte a MS sql server
Me uno a este comentario de rgstuamigo, preguntando ¿qué componentes de datos estás usando?
Responder Con Cita
  #4  
Antiguo 22-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Utilizo ADO para conectarme
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 22-03-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
No lo he probado, pero parece que la solución desde Delphi sería utilizar el evento OnWillExecute del componente conexión (TADOConnection):

Código Delphi [-]
procedure TForm1.ADOConnection1WillExecute(Connection: TADOConnection;
  var CommandText: WideString; var CursorType: TCursorType;
  var LockType: TADOLockType; var CommandType: TCommandType;
  var ExecuteOptions: TExecuteOptions; var EventStatus: TEventStatus;
  const Command: _Command; const Recordset: _Recordset);
begin
  ShowMessage ('La sentencia es:'#13#10 + CommandText);
end;

Claro, seguramente sólo te funcionará con las consultas que hagas (directa o indirectamente) a través de ese objeto conexión.

¿Necesitas monitorear incluso lo que se haga desde otras aplicaciones?
Responder Con Cita
  #6  
Antiguo 22-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
el Personal de TI (celoso o cauteloso no lo se) no nos quiere instalar esa caracteristica....
Nunca he trabajado con MS SQL, pero por lo que dices habrá una funcionalidad que permita hacer lo que deseas. El problema es que el IT no la quiere instalar, puedes ponerle queja a tu jefe que sería la solución más sencilla

Por otro lado, instalar algún monitor en tu aplicación solo servirá para monitorear las sentencias SQL que sean ejecutadas desde tu aplicación. En el registro no aparecerán sentencias que sean ejecutadas por medio de alguna otra herramienta o controlador. Debido a este problema no estarías haciendo una auditoria completa. Además otro problema que tendrías con ponerle un monitor a tu aplicación es que el sistema global se verá penalizado en su rendimiento.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #7  
Antiguo 22-03-2011
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
MS SQL Server tiene una aplicación que se llama "SQL Profiler", tiene todas las herramientas que necesitas para ver las instrucciones que se ejecutan en la base de datos.

cualquier instalación completa del SQL server vendrá con esta herramientas. Si te puedes conectar a la base de datos con el Query Analizer, puedes usar el Profiler. Y dado que este corre directamente en la base de datos, no importa que programa esté ejecutándose, siempre mostrará las instrucciones que se ejecuten, salvo algunas palabras clave que tendrías que configurar para que también se muestren, (por ejemplo, si la palabra "password" aparece en la consulta, el profiler no te mostrará dicha consulta, a menos que le configures y le otorgues permisos para hacerlo).

Si la gente de IT no te lo quiere instalar, desde ahí puedes determinar que algo están haciendo mal y debes de decir que no puedes hacer tu trabajo si no te dan las herramientas que necesitas.
__________________


Última edición por ContraVeneno fecha: 22-03-2011 a las 23:22:07.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Alguien sabe como llamar al rave pero como reporteador dentro de una aplicacion memehua Impresión 1 05-10-2008 18:28:24
Cómo averiguar si una cadena es un palíndromo marck24 JAVA 3 19-08-2008 15:17:59
Funcion para borrar la cadena que aparesca repetida dentro de otra cadena flystar Varios 1 02-07-2007 23:51:10
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15


La franja horaria es GMT +2. Ahora son las 03:46: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
Copyright 1996-2007 Club Delphi