PDA

Ver la Versión Completa : Cual es mejor de firebird o interbase y cual puedo usar con delphi7


jeremiselxi
03-09-2012, 16:06:03
Muy buenas Delphianos, que Dios los bendiga a Todos.

Yo estoy programando con delphi 7 y como he hecho aplicaciones pequeñas he usado access y me ha ido bien, pero tengo que realizar un sistema de facturacion que me pidieron y buscando en internet he encontrado estas dos bases de datos firebird o interbase.

Ahora bien, quiero saber cual de estas dos bd es mas optima con respecto a este proyecto de sistema de facturacion? y aparte de eso cual version puedo usar con delphi 7 y si es posible con cual componente conectarlo.

Muchas gracias por las respuestas anticipadas.:cool:

Casimiro Notevi
03-09-2012, 16:45:16
Hola, son muy similares, firebird es una versión libre y gratis de interbase, esta última es cerrada y de pago.
Así que te recomiendo firebird. Aquí somos muchos los que usamos firebird desde hace muchísimos años y sólo nos da alegrías :)
Funciona en linux, osx, windows, etc.
Delphi ya trae componentes de acceso a firebird, pero hay muchos, así que tienes donde elegir dependiendo de necesidades, gustos, etc.

jeremiselxi
04-09-2012, 00:04:14
Hola, son muy similares, firebird es una versión libre y gratis de interbase, esta última es cerrada y de pago.
Así que te recomiendo firebird. Aquí somos muchos los que usamos firebird desde hace muchísimos años y sólo nos da alegrías :)
Funciona en linux, osx, windows, etc.
Delphi ya trae componentes de acceso a firebird, pero hay muchos, así que tienes donde elegir dependiendo de necesidades, gustos, etc.


Muchas por contestar tan rápido.
Comenzare entonces a implementar el sistema de facturación que me pidieron en firebird.
pero quiero saber algo, imaginemos que en donde voy a instalar el sistema tienen 3 pcs conectadas en red, y de las tres hay un servidor.

Yo instalare el firebird en el servidor pero quiero saber si el firebird es cliente/servidor, porque lo que quiero lograr es:

1. instalar la bd en el servidor
2. poner mi .exe en las otras pc, pero haciendo referencia a la bd en el servidor.

Es posible lograr esto con firebird?

Casimiro Notevi
04-09-2012, 00:29:59
Por supuesto, Firebird es totalmente cliente/servidor.

jeremiselxi
04-09-2012, 14:45:07
Por supuesto, Firebird es totalmente cliente/servidor.

Excelente.

Por si acaso dejare algo de información que hice y si funciona muy bien.

Tengo dos PC virtuales pero estan conectadas entre si.

A la computadora a le puse SERVER

en la cual instale el firebird y cree la misma base de datos que se explica aqui http://www.clubdelphi.com/foros/showthread.php?t=68708

En la computadora SERVER puse en la opcion Server: Localhost.
lo puse en rojo para que se entienda algo que explicare mas adelante.

Luego en mi pc llamada

JhonatanPC

instale mi delphi7 normalmente
elijo mi ibdatabase

Parametros:

Conection: Remote.
Server: Puse "SERVER" no Localhost, porque no funciona, ya que hay que poner el nombre del servidor.
Protocol:tcp
database: C:\BD.FDB porque ahi fue que cree el archivo.

Y en la parte que dice: settings
puse:


user_name=SYSDBA
lc_ctype=ISO8859_1
sql_role_name=3
password=masterkey




cuando le das al boton TEST e introduce tu password, ahi esta, dice:
Succefull Connection.


Esto es para los novatos como yo:D. Felicito al que creo la pagina Clubdelphi.com y a todos los integrantes de esta comunidad por brindad sus conocimientos para aprender. Pasen buen dia y Dios los bendiga a todos.


Ha, una ultima pregunta, como cambio la contraseña de fabrica de masterkey por la que quiero.

ecfisa
04-09-2012, 15:31:38
Hola jeremiselxi.
Ha, una ultima pregunta, como cambio la contraseña de fabrica de masterkey por la que quiero.
En este [enlace (http://www.firebirdsql.org/manual/es/qsg15-es-other-necessities.html)], lo encontrarás claramente explicado.

Saludos. :)

Casimiro Notevi
04-09-2012, 15:49:17
Conection: Remote.
Server: Puse "SERVER" no Localhost, porque no funciona, ya que hay que poner el nombre del servidor.
Protocol:tcp
database: C:\BD.FDB porque ahi fue que cree el archivo.


En lugar de poner el nombre del servidor, yo tengo la costumbre de poner la IP. Es más "directo". Ejemplo:
192.168.1.100:/home/datos/facturacion2012.fdb

donald shimoda
04-09-2012, 15:59:14
En lugar de poner el nombre del servidor, yo tengo la costumbre de poner la IP. Es más "directo". Ejemplo:
192.168.1.100:/home/datos/facturacion2012.fdb



En el caso de remotos siempre me manejo por aliases, quizas te convenga editar el archivo alias.conf, ubicado en la carpeta de instalacion de firebird server y crear un alias para darle mas flexibilidad en el deploy posterior.

Saludos

Casimiro Notevi
04-09-2012, 16:07:36
Pero, en remoto, por internet, tendrás que darle la IP de internet del router, y luego en el router estará redireccionado a la IP interna de la red local.
La verdad es que por internet no he usado nunca los alias para conectar, supongo que en el cliente se grabará la IP de internet del router remoto donde está firebird, porque de otro modo no sé cómo va a saber a dónde conectar.

donald shimoda
04-09-2012, 16:11:21
Pero, en remoto, por internet, tendrás que darle la IP de internet del router, y luego en el router estará redireccionado a la IP interna de la red local.
La verdad es que por internet no he usado nunca los alias para conectar, supongo que en el cliente se grabará la IP de internet del router remoto donde está firebird, porque de otro modo no sé cómo va a saber a dónde conectar.

No se si me contestabas a mi, pero en todo caso cuento mi experiencia en acceso sobre internet.

1) Redireccionar el puerto 3050 en el router a la ip interna del servidor que aloja firebird.
2) Abrir en el firewall del router y en firewall del servidor el puerto 3050.

Por seguridad es tambien posible cambiar el puerto externo, es decir el que vas a abrir en el router, de 3050 a cualquier otro. El único detalles es que las aplicaciones clientes deben estar notificadas de ese cambio, es decir que tendras que setear en el componente de acceso a la db el puerto nuevo.

Saludos.

Casimiro Notevi
04-09-2012, 17:01:11
No se si me contestabas a mi,

Sí, era para ti :)
Es sobre los alias, por internet, habrá que tener almacenado en los clientes la IP 'externa' del router, porque en caso contrario, no sé cómo van a conectar por internet si no la conocen.

donald shimoda
04-09-2012, 17:10:39
Sí, era para ti :)
Es sobre los alias, por internet, habrá que tener almacenado en los clientes la IP 'externa' del router, porque en caso contrario, no sé cómo van a conectar por internet si no la conocen.

Pero este caso es igual:

192.168.1.100:/home/datos/facturacion2012.fdb

192.168.1.100 debe estar almacenado en algun lado, cambia eso por una ip publica de internet y listo.

Los alias no llevan ip, por si acaso, se refieren a los servidores que *sirve* el propio server, y su path esta referenciado de manera local, ejemplo

Server IP = 200.123.123.123

En aliases.conf va.

mydb = C:\DB\DATABASE.DB

Se accede desde internet usando:

200.123.123.123:mydb

Saludos.

Casimiro Notevi
04-09-2012, 18:15:31
Se accede desde internet usando:
200.123.123.123:mydb

A eso quería llegar, que por internet necesitas la IP "externa" del router.
El alias tiene la ip local de la red donde está firebird (la ip y la ruta completa, evidentemente).

donald shimoda
04-09-2012, 18:19:20
A eso quería llegar, que por internet necesitas la IP "externa" del router.
El alias tiene la ip local de la red donde está firebird (la ip y la ruta completa, evidentemente).

Claro, puedes usarlo de esa manera. A mi me ha resultado mas sencillo siempre referenciarlo sin IP en el aliases conf y luego solo hay que cambiar la ip en algun ini.

Saludos.

jeremiselxi
05-09-2012, 06:16:17
Hola jeremiselxi.

En este [enlace (http://www.firebirdsql.org/manual/es/qsg15-es-other-necessities.html)], lo encontrarás claramente explicado.

Saludos. :)

Intente lo que esta ahi pero me daba error, buscando por internet encontre esto http://www.intitec.com/varios/gsec.pdf


el codigo k me funciono fue

gsec -user SYSDBA -password masterkey -database sally:"C:\Program
Files\Firebird\security.fdb" -modify sysdba -pw hannoverel codigo que utilice en la casa en el cmd fue
C:\Program Files\Firebird\Firebird_2_5\bin>gsec -user sysdba -pass masterkey -da
tabase "C:\Program Files\Firebird\Firebird_2_5\security2.fdb"
GSEC> modify sysdba -pw Dios0908
GSEC> quitpero ese codigo me cambia la contraseña para entrar al gsec.

pero como en esta pagina http://www.clubdelphi.com/foros/showthread.php?t=68708 me enseñan a usar el ibexpert

pero cuando me conecto con el ibexpert y creo una tabla con la clave con que funciona es con masterkey.

por que pasa esto?

yo quiero cambiar la contraseña que no funcione la clave masterkey con ningun programa porque mi bd estara expuesta a esa contraseña.

Casimiro Notevi
05-09-2012, 07:21:51
Si te llevas la base de datos a otro equipo, las claves son las que tengas en ese equipo.
Es un tema tratado muchas veces, una cosa es la seguridad de la BD y otra la del equipo físico, ¿van a entrar a donde está el servidor y se lo van a llevar?.

jeremiselxi
05-09-2012, 14:04:51
Si te llevas la base de datos a otro equipo, las claves son las que tengas en ese equipo.
Es un tema tratado muchas veces, una cosa es la seguridad de la BD y otra la del equipo físico, ¿van a entrar a donde está el servidor y se lo van a llevar?.

A lo k m estoy refiriendo es a la seguridad de la bd, porque el equipo físico no es tan importante. Te comentare algo, todos sabemos como somos los informáticos, que nos cojemos con algo y luchamos hasta k lo conseguimos. Entonces, quiero tratar de proteger la información lo mas posible, con una contraseña a esa BD, porque cualquiera puede hacer una malda y entrar ejemplo con ibexpert a la bd y borrar toda la información, y eso es lo k estoy buscando, porque esta es la idea, instalo firebird copio la bd en su lugar y listo. Pero si alguien logra buscar en internet k con ibexpert se puede conectar gráficamente, entonces se conectara a la bd y si entra con la clave genérica de masterkey, no seria ni ético ni profesional:). Por eso quiero cambiar la clave a la bd:), y acepto mas comentarios para aprender de los de experiencia con firebird para k así yo pueda ayudar con los conocimientos adquiridos:)

Casimiro Notevi
05-09-2012, 14:20:54
Bien, pues cámbiale la clave, no he entendido qué problema tienes con eso :confused:

ecfisa
05-09-2012, 14:57:18
Hola jeremiselxi.

A lo k m estoy refiriendo es a la seguridad de la bd, porque el equipo físico no es tan importante.
Disiento totalmente con eso y estoy de acuerdo con Casimiro.

Si alguien no autorizado puede tener acceso al equipo servidor y utilizar alguna herramienta para borrar los datos, la falla de seguridad no pasa por el RDBMS usado sino por la falta de restricción de acceso físico al equipo servidor.


porque cualquiera puede hacer una malda y entrar ejemplo con ibexpert a la bd y borrar toda la información

Si existe esa posibilidad, hay que replantear seriamente la medida de seguridad más básica: El acceso al equipo servidor y su perímetro físico, debería estar limitado al personal autorizado.

El ambiente donde se encuentra el servidor, como te mencioné, también debería ser un área protegida. Por que si alguien desea hacer daño, no necesita conocimientos informáticos, basta con usar una jarra de agua, un martillo, ...

Saludos.

roman
05-09-2012, 17:10:37
porque cualquiera puede hacer una malda y entrar ejemplo con ibexpert a la bd y borrar toda la información,


Y no sólo eso. Puede borrar el archivo completo de la base de datos, o peor aún, formatear el disco duro o quemar la computadora.

Tú dices:

Te comentare algo, todos sabemos como somos los informáticos, que nos cojemos con algo y luchamos hasta k lo conseguimos.



Sí, pero dentro de nuestro ámbito. Yo no voy proteger la información de un loco que que quiera bombardear el edificio. Asímismo, la seguridad física de los archivos, incluídas las bases de datos, es un rubro aparte de la programación y, de hecho, normalmente no está a nuestro cargo, sino, en primera instancia, del DBA, luego del administrador del servidor y luego del guardia de las instalaciones.

// Saludos

Casimiro Notevi
05-09-2012, 17:52:40
Y si por si acaso roban la base de datos, le podemos poner una bomba lógica, para que al que la robe le explote en la cara cuando la abra :D

jeremiselxi
06-09-2012, 05:16:58
He captado muy bien el mensaje:), la realidad es que soy un programador y no administrador de servidor, ni administrador de bd. :). Muchas gracias:) a todos. Verdaderamente me siento muy bien al compartir conocimientos con personas de experiencia. Algún día anhelo tener muchísimos conocimientos para compartirlos con todos ustedes.

jeremiselxi
06-09-2012, 05:28:34
Bien, pues cámbiale la clave, no he entendido qué problema tienes con eso :confused:

Como le cambio la clave al archivo de bd?.

Y a parte de eso

He captado muy bien el mensaje de todos la realidad. Muchas gracias a todos. Verdaderamente me siento muy bien al compartir conocimientos con personas de experiencia. Algún día anhelo tener muchísimos conocimientos para compartirlos con todos ustedes.

ecfisa
06-09-2012, 06:06:17
Como le cambio la clave al archivo de bd?.
Hola jeremiselxi.

Retrocede 18 mensajes. O, si te da mucha pereza, click -> [aqui (http://www.clubdelphi.com/foros/showpost.php?p=441703&postcount=6)] :)


Saludos :)

Casimiro Notevi
06-09-2012, 10:25:41
Hola jeremiselxi.
Retrocede 18 mensajes. O, si te da mucha pereza, click -> [aqui (http://www.clubdelphi.com/foros/showpost.php?p=441703&postcount=6)] :)
Saludos :)

+1 ^\||/

jeremiselxi
07-09-2012, 17:33:36
+1 ^\||/



Gracias por ayudarme a entender todo:D