PDA

Ver la Versión Completa : Base de datos a través de una web?


José Luis Garcí
06-09-2013, 20:09:18
Hola compañeros, podáis indicarme algún tutorial, ejemplo, enlaces o le que me pueda ayudar, pero partiendo de 0.

El tema es el siguiente, en una web debe instalarse una BD (En firebird) y la verdad hasta el momento siempre he hecho tablas en el puesto físico del programa, así que no tengo ni idea, luego se trata de que el personal desde varios puntos, dentro y fuera de la isla, tenga un ejecutable que se conectara a la BD, con las operaciones típicas, me pasa lo mismo, supongo que las operaciones son iguales, que el único problema lo tendré en la conexión con la BD, pero como digo no tengo ni idea..

Como siempre si podéis echarme una mano os lo agradecería sinceramente.

Casimiro Notevi
06-09-2013, 20:25:53
Hola, la diferencia es que tendrás que redirigir en el router las entradas/salidas del puerto 3050 hacia la IP donde está el servidor firebird.
Deberá tener IP fija, o a las malas, usar un servicio del tipo no.ip
De todas formas, ten cuidado con lo que haces por internet, la mentalidad hay que cambiarla bastante porque la velocidad de internet es bastante escasa. Debes pensar como los programas cajeros de los bancos, sólo traer la información absolutamente necesaria, nada de tablas, nada de 'select *', nada de componentes que cargan todo en memoria (tipo dblookupcombobox), etc. etc. etc...

José Luis Garcí
06-09-2013, 21:38:16
Hola, la diferencia es que tendrás que redirigir en el router las entradas/salidas del puerto 3050 hacia la IP donde está el servidor firebird.
Deberá tener IP fija, o a las malas, usar un servicio del tipo no.ip
De todas formas, ten cuidado con lo que haces por internet, la mentalidad hay que cambiarla bastante porque la velocidad de internet es bastante escasa. Debes pensar como los programas cajeros de los bancos, sólo traer la información absolutamente necesaria, nada de tablas, nada de 'select *', nada de componentes que cargan todo en memoria (tipo dblookupcombobox), etc. etc. etc...


Gracias como siempre Casimiro voy tomando nota

Osorio
07-09-2013, 00:10:58
Suena como para una aplicacion multicapas con datasnap.

José Luis Garcí
07-09-2013, 09:59:54
Hola compañeros, cambio total del plan, ahora tengo que aprender MySQL, ya que mi web sólo admite esta tipo de base de datos, así que doble trabajo, que le vamos a hacer

José Luis Garcí
07-09-2013, 10:09:45
hola compañeros quiero poneros una imagen de como estoy actualmente en ambos temas

http://img.desmotivaciones.es/201102/PulpoGaraje.jpg

Casimiro Notevi
07-09-2013, 11:13:54
No estaría mal que explicaras exactamente qué quieres hacer, ya que de otra forma es difícil que te puedan aconsejar.

fjcg02
07-09-2013, 12:15:29
Tal y como dice. Casimiro, danos más información a ver sí te podemos ayudar.

Saludos

José Luis Garcí
07-09-2013, 12:41:12
Ok, tenéis razón, se trata de tener la BD, en la web, desde varios puntos, en diferente islas, accederán a esta, sólo para actualizar datos y mandar registros , apertura, al final del día, caja, lista de movimientos y cambios o altas nuevas, en personal, clientes y configuración y unas pocas operaciones más.

Claro esta cada punto tendría su propia BD, el tema esta en que al iniciar el día, consulta los cambios de precios y altas o modificaciones de artículos, en la BD central (que estaría en la WEB) y mandaría la apertura de la caja y la imagen escaneada del ingreso en el banco (si lo hay claro), el resto del día trabaja con la BD local (que ha sido actualizada en la apertura) y al final del día manda el cierre de la caja, resúmenes con los movimientos y modificaciones que existan en clientes, operarios, etc y altas nuevas, normalmente unos pocos datos y 2-4 pdf.

También existirá una opción que permita actualizar desde la central en cualquier momento, a petición de la central, se me ocurrió que pudiese mandarse un aviso al programa desde la central a través de la web, pero no quise rizar el rizo, ya que tendré que aprender un montón de cosas de por medio.

Si el cliente acepta el presupuesto, puede que aplique al sistema, para otra idea que tengo, pero tengo que ir paso a paso.

José Luis Garcí
07-09-2013, 13:00:39
La apertura seria los siguientes datos
Fecha
Hora
Punto (Un código alfanumérico, que identifica el terminal y por tanto la localización)
Importe

El cierre seria los siguientes datos
Fecha
Hora
Punto (Un código alfanumérico, que identifica el terminal y por tanto la localización)
Importe

luego se manda un pdf con un resumen detallado del contenido del cierre, de 1 a 2 hojas como mucho, donde se especificara, ademas los posibles cambios, bajas y modificaciones.

Luego desde una tabla que se vacía al inicio del día y registra los diferentes cambios, con los siguientes campos

Tabla
Código
Identificador *
Descripción

* es el nombre del campo

Tabla y código, son campos fijos y cada registro identifica los pasos, os pongo varios ejemplos

Un alta de un cliente seria los siguientes registros dentro de esta tabla


Tabla..........Código.....Identificador.......Descripción
CLIENTES...1..............ALTA....................................................
CLIENTES...1..............CODIGO..............1
CLIENTES...1..............NOMBRE..............Fulanito de tal
CLIENTES...1..............DNI.....................xx.xxx.xxx-X
CLIENTES...1..............TELEFONO..........xxx-xxx-xxx
Etc

Una modificación sería


Tabla..........Código.....Identificador.......Descripción
CLIENTES...1..............MODIFICACION...................................
CLIENTES...1..............NOMBRE.............Fulanito de cual
CLIENTES...1..............DNI.....................xx.xxx.xxx-J


Si existe una baja, aun es más Fácil



Tabla..........Código.....Identificador........Descripción
CLIENTES...1..............BAJA............................................

Esta sería la única tabla a usar con información de intercambio

Para la apertura seria


Tabla..........Código....Identificador........Descripción
CAJA...........1(1)........APERTURA.......................................
CAJA...........1.............FECHA.................07/09/2013
CAJA...........1.............HORA...................08:00:00
CAJA...........1.............IMPORTE..............125,00


y el Cierre sería


Tabla..........Código....Identificador........Descripción
CAJA...........1.............CIERRE.................................................
CAJA...........1.............FECHA.................07/09/2013
CAJA...........1.............HORA..................22:00:00
CAJA...........1.............IMPORTE.............125,00


(1) seria el código de identificación del terminal, como podéis ver no pongo el PUNTO, ya que recogeríamos el dato del código

Si esta mal planteado o creáis que debo cambiarlo decírmelo.

Casimiro Notevi
07-09-2013, 13:46:22
Si lo del "mysql" es porque casi todas las webs vienen con esa BD, lo que puedes hacer es contratar un servidor dedicado o un VPS donde intalas lo que tú quieras.

fjcg02
08-09-2013, 15:46:52
En su día se habló de este tema. Te pongo un hilo en el que se comentaba que una solución buena era intercambiando ficheros vía ftp.

A ver sí te da pistas...

http://www.clubdelphi.com/foros/showthread.php?t=69827&highlight=Sincronizaci%F3n+firebird&page=2

Un saludo

José Luis Garcí
08-09-2013, 16:00:34
Si lo del "mysql" es porque casi todas las webs vienen con esa BD, lo que puedes hacer es contratar un servidor dedicado o un VPS donde intalas lo que tú quieras.

Si el motivo es ese

En su día se habló de este tema. Te pongo un hilo en el que se comentaba que una solución buena era intercambiando ficheros vía ftp.

A ver sí te da pistas...

http://www.clubdelphi.com/foros/showthread.php?t=69827&highlight=Sincronizaci%F3n+firebird&page=2

Un saludo

Le echo un vistazo.


Gracias compañeros.