![]() |
Ado Y Password
Buenos días, me gustaría saber si saben como, o por lo menos decirme donde puedo mirar, como poner una clave en ado en tiempo de diseño y luego poder modicarla en tiempo de ejecución.
El caso es una aplicación que el cliente acceda con una clave inicial que yo pongo, y que luego el a su gusto la pueda modificar. Un saludo... |
¿Con qué Base de Datos estás trabajando?
La clave que pones en ADO en realiadad es la de la BD (ADO en sí es un método de acceso, no tiene clave). En Bases de Datos de escritorio te puede servir utilizar la clave de acceso a la Base de Datos. Definir tú una inicialmente y luego que el cliente la cambie. |
trabajo con access
Gracias por responder pronto. Trabajo con access. Supongo que la clave la puedo poner inicialmente con access, pero como la modifico en tiempo de ejecución???
Un saludo... |
Se puede hacer compactando la Base de Datos y dando un nuevo password para el proceso.
Importa la librería "Microsoft Jet and Replication Objects 2.6 Library" desde delphi y utiliza el siguiente código:
La Base de Datos se debe abrir en modo exclusivo. Ésto te debe generar una base de datos nueva con el nuevo password; Si deseas luego puedes borrar la antigua (DeleteFile) y renombrar la nueva (RenameFile). |
Funcionaaaa!!! una duda más
Buenos días, ante todo gracias. He probado lo que me dijistes y funciona perfectamente. Incluso, me facilita la tarea de compactar y reparar, ya que para hacerlo, usaba un createole yu llamaba a funciones access, lo que implica que el usuario tenga access instalado, y de esta forma no.
Tenga un par de dudas acerca de lo mismo, y te las pongo aquí para no salir del tema. 1ª) De la misma forma, aparte de cambiar la clave, es posible cambiar el usuario admin??? donde puede ver las funciones que hay en la librería que me dijistes??? 2º) Necesito encriptar la clave de BD, pero el problema es que para introducir la clave sale el login prompt de BD, sabes si hay un evento al que pueda llamar antes de que la base de datos reciba la clave. Es decir Clave: hola encriptada:(,&/ Entonces en login prompt: usuario admin clave: hola(pero la bd debe recibir (,&/, )no se si lo has pillado. Además, es posible meter la clave a la BD a mano, para evitar el login prompt y así personalisar la petición de clave?? Espero no haberte enrrollado, un saludo... |
Cita:
User ID=Admin;Password=Password; donde puedes colocar éstos parámetros de conexión. (2) La Clave a mano puedes introducirla como te he comentado antes. |
Lo probaré
Gracias de nuevo, por responder. Voy a probar.
Pero hay algo que no comprendo, la cadena que me pasastes era para compactar y cambiar clave, pero para identificarse sería otra cadena??? ya que al arrancar la aplicación, solo necesito identificarme y evitar el login prompt. Gracias de nuevo... |
He probado y funciona...
He probado y funciona correctamente, lo único es que para validar la clave, la he pasado a través del connectionstring, y funciona perfecto.
Una ultima cosa y con esto cierro el tema( y no te doy más la lata-de momento ;-) Crees que es viable pasar la clave encriptada a la base de datos, ya que si el usuario la olvida imagino que la única forma de recuperarla es madiante un programa que obtenga la clave de la BD, pero si está encriptada igual puede ser mas complicado recuperrarla o no??? |
Cita:
(2) Dile al usuario que mejor que no pierda la clave porque sino perderá los datos. (3) Si aun así la pierde hay en Internet varios programas que extraen la clave de un archivo de Access en sus diferentes versiones (eso no se lo digas al usuario ;) ). |
Neftalí una cosa más...
Anoche probé y pude encriptar la clave, cambiarla con el JRO que me pasastes, y luego, paso la clave encriptada al conecctionstring y sin problem.
uso compact, pongo clave vieja encriptada, pongo la nueva encriptada, y la cambia. Luego modifico el connectionstring: cadena1+clave+cadena2, la pongo activa, y pa lante. Te lo digo para que lo sepas,por si acaso. Un saludos grande y gracias por tu ayuda, seguro que algo tendré que volver a preguntar, así que ya me verás por el foro. |
Entonces si lo has podido hacer es que no entendí bien lo que me explicabas...:( , de todas formas me alegro de que esté solucionado. :)
|
La franja horaria es GMT +2. Ahora son las 12:59:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi