FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Firebird - Obtener Clave única
Hola de nuevo a tod@s !!
Es posible obtener una clave única del ordenador en el que se encuentra instalado Firebird (2.5) ?? Es decir, tengo un proceso de claves de activación que funciona perfectamente basado en el número de serie del ordenador local en el cual se solicita la clave de activación. Pero en este caso, en vez de condicionarlo a cada puesto, quiero condicionarlo a la base de datos activa e instalada, es decir, al ordenador en el que se encuentre corriendo Firebird. Me queda claro cómo obtener el número de puestos actualmente conectados a la base de datos. Eso no es lo que me inquieta ahora, sino lo que quiero es validar una clave de activación para x número de puestos que se pueden conectar a la base de datos, y para ello necesito obtener un código único que identifique al propio ordenador donde se encuentre instalado Firebird, y no quiero tener en dicho ordenador un programa adicional, sino que sea la propia base de datos la que cada vez que se conecte un usuario, sea capaz de devolverme ese valor único, que debe depender del ordenador que ejecuta Firebird. Es posible ? Gracias como siempre por vuestra ayuda. Saludos !
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
Hola.
Yo no sé nada de Firebird pero si lo que quieres es limitar el número de usuarios concurrentes y sabes cuantos usuarios hay conectados a la base de datos ¿para qué necesitas un número de identificación?. Saludos
__________________
Be water my friend. |
#3
|
||||
|
||||
Creo que Firebird no ofrece el tipo de información que necesitas. Para implementarlo tendrías que escribir una función externa.
Por otro lado, recuerdo que una vez investigué algo similar a lo que buscas. Si mal no recuerdo, lo que encontré fue que el campo MON$CREATION_DATE de la tabla MON$DATABASE guarda la fecha y hora de creación del archivo de la base de datos. Ya que ese campo tiene precisión de milisegundos, es una buen dato para identificar la singularidad de la DB. Porque es poco probable que dos DBs vayan a ser creadas en la misma fecha y a la misma hora con precisión de milisegundo. Saludos! |
#4
|
||||
|
||||
Gracias Newtron y gracias Chris :
Ninguna de las dos soluciones me es válida ya que lo que intento evitar es que esa base de datos se pueda copiar a otro ordenador. Newtron : Lo que intento hacer es validar mi programa con una clave de activación. En un puesto local, obtengo el número de serie del disco duro y solicito una clave de activación. Esa clave sólo es válida para ese usuario y ese ordenador. Si formatea de nuevo o copia el programa a otro ordenador, no sirve esa clave de activación. Por lo tanto, no me basta con obtener el número de usuarios concurrentes que accedan a una base de datos. Chris : Me parece en principio buena tu idea, pero yo lo que quiero obtener es una limitación basada en el EQUIPO en el que corre la base de datos, para impedir una copia de la base de datos una vez que se haya activado. Si me basara en la fecha y hora de la creación de la base de datos, si copia esa base de datos a otro equipo, el valor sigue siendo el mismo, o no ??? ... Chris ..., cómo se podría implementar eso en una función externa ??? Al día de hoy, dentro de la aplicación Delphi, utilizo la función GetVolumeInformation. Es posible implementar dicha función dentro de Firebird con una UDF externa ??? Gracias.
__________________
Piensa siempre en positivo ! |
#5
|
||||
|
||||
Cita:
Las UDFs están ahí para todo tipo de asuntos que están fuera del alcance SQL, pero tengo entendido que pronto podrán programarse cosas como éstas directamente en procedimientos almacenados, o algo por el estilo. Saludos. |
#6
|
||||
|
||||
Gracias Al !
Ya estoy lo estoy probando .... a ver si me resuelve el problema.
__________________
Piensa siempre en positivo ! |
#7
|
|||
|
|||
¿Protección?
Gluglu:
Hace ya un tiempo, requirieron de mis servicios para pasar un servidor OPC a otra computadora con mejor hardware. El problema era que si instalabas el Servidor a otra PC, este dejaba de funcionar porque necesitaba de un pequeño programa que al momento de ejecutarse "hacia algo" (validaba una licencia) y aunque permitía instalarse, este dejaba de funcionar (¿me explico?). Para no hacer el cuento largo, el método de validación lo hacía a través de guardar el número de serie de las dos tarjetas de red (previa encriptación en la base de datos). Método sencillo para evitar copias no autorizadas de programas (creo que es lo que tu quieres). Saludos, Gerardo Suárez Trejo P.D. Para aquellos que se estén preguntando si es un método seguro. mmmmmhhhh, la verdad es que no .... Una vez, que supe como era el mecanismo de protección me llevó dos horas implementar la solución: monté un servidor Linux e instalé una Caja Virtual, desde aquí a través de software tu puedes cambiar el número de serie de las tarjetas de red. Otra aclaración, la empresa que montó el OPC pedía $400,000.00 pesos mexicanos (poco menos de $40 mil dolares americanos por hacer esto). Lo que es un verdadero asalto a mano armada ... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Generar clave única | vivamotos | C++ Builder | 1 | 06-06-2008 12:42:41 |
enviar mensajes de error en campos obligatorios y clave unica | Goyo | Conexión con bases de datos | 0 | 15-05-2007 23:11:07 |
Obtener la clave de una base de datos de FireBird | vzar42 | Firebird e Interbase | 5 | 19-01-2007 22:43:35 |
Problemas al generar una clave unica | Huer | OOP | 6 | 09-06-2004 02:58:57 |
Validar clave unica en Paradox | dchaparro | Tablas planas | 6 | 20-04-2004 01:34:58 |
|