Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2006
IsidoroM IsidoroM is offline
Registrado
 
Registrado: may 2006
Posts: 2
Poder: 0
IsidoroM Va por buen camino
Ocultar ConnectionString TADOConnection

Buenas,

estoy intentando ver la manera de ocultar las property ConnectionString y ConnectionObject del objeto TADOConnection con el objeto de que un programador pueda utilizar este objeto de conexión a la BBDD con unos valores preestablecidos y que no puedan leerse así evitar que el equipo de programación pueda conocer el usuario, contraseña, ... de acceso a la BBDD.

He probado de crear una clase nueva que herede de TADOConnection sobreescribiendo la funcion read de la propiedad ConnectionString, pero si esta nueva clase la instancio en un TADOConnection me vuelve a ejecutar la funcion read del TADOConnection mostrando de nuevo el contenido del ConnectionString.

¿Alguien tiene alguna idea?

Gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 24-05-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
porque no creas un componente que se llame algo asi como TMyConexion donde tengas las propiedades que necesites para la conexion, y haces un metodo de conectar o algo asi, que mande llamar a un TAdoConnection que hayas creado en tu componente, asi todo quedara oculto.
Responder Con Cita
  #3  
Antiguo 24-05-2006
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
Yo encriptaria el valor de ConnectionString y lo cargas en tiempo de ejecución con algún método que desencripte la cadena.
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #4  
Antiguo 25-05-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Aquí discutimos en su día, cómo ocultar propiedades published de un componente; Puedes probarlo con el tuyo; Pero me parece una tarea imposible initentar "ocultarle" a un programador que va a trabajar con eso la cadena de conexión... Se me ocurre que aunque pudieras ocultarsela visualmente, siempre podrá programar un código para verla...

Si debe programar:
Código Delphi [-]
  ADOQ.Active := True;

Siempre podrá hacer:
Código Delphi [-]
  MessageDlg(ADOQ.ConnectionString, mtInformation, [mbOK], 0);
  MessageDlg(ADOQ.Connection.ConnectionString, mtInformation, [mbOK], 0);
  ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 25-05-2006
IsidoroM IsidoroM is offline
Registrado
 
Registrado: may 2006
Posts: 2
Poder: 0
IsidoroM Va por buen camino
Buenas,

conseguí ocultar la propiedad ConnecionString de la siguiente manera:

Código Delphi [-]
type
  TADOConnectionEclipse = class(TADOConnection)  // Ocultar ConnectionString y ConnectionObject
  private
    FConnectionString: WideString;
    function GetConnectionString: WideString;
  protected
  public
    property ConnectionObject;
  published
    property ConnectionString read GetConnectionString;
  end;

sobreescribiendo la funcion GetConnectionString por el código que me devuelva un texto diferente al de conexión.

El problema fué que cuando creaba un objeto de esta manera:
Código Delphi [-]
var
  ace:TADOConnectionMio;
begin
  ace:=TADOConnectionMio.Create(Self);
y llamaba a ace.ConnecionString el resultado era el esperado: me enseñaba el resultado que le había dado a la propiedad, pero si hago esto:
Código Delphi [-]
var
  ace:TADOConnectionMio;
begin
  ace:=TADOConnection.Create(Self);
y ejecuto ace.ConnectionString, me ejecuta la función read del objeto TADOConnection mostrándome el valor real del ConnectionString.

He mirado en el tema del foro que comenta Neftali donde comentan: "El nivel de visibilidad de una propiedad o método no puede degradarse, sólo aumentarse", por lo que sería imposible realizar lo que quiero de esta manera.
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
ADO y su Propidad ConnectionString !!! Ledian2006 Conexión con bases de datos 3 10-01-2006 20:50:39
Servicio con TADOConnection Duc Conexión con bases de datos 0 27-07-2005 14:08:14
TADOConnection/TADOStoredProc arantzal Varios 5 04-02-2005 11:23:06
ERROR: Missing connection or ConnectionString!!!!!!!! DarkByte Conexión con bases de datos 3 09-09-2004 15:28:42
Inicializar TADOConnection xgerard Conexión con bases de datos 5 21-11-2003 20:56:14


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


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