Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Base de datos a través de una web? (https://www.clubdelphi.com/foros/showthread.php?t=84086)

José Luis Garcí 06-09-2013 20:09:18

Base de datos a través de una web?
 
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

Cita:

Empezado por Casimiro Notevi (Mensaje 466522)
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

Multicapas
 
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


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

Cita:

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

Cita:

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


Cita:

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

Cita:

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

Cita:

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/show...irebird&page=2

Un saludo

José Luis Garcí 08-09-2013 16:00:34

Cita:

Empezado por Casimiro Notevi (Mensaje 466553)
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

Cita:

Empezado por fjcg02 (Mensaje 466580)
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/show...irebird&page=2

Un saludo

Le echo un vistazo.


Gracias compañeros.


La franja horaria es GMT +2. Ahora son las 22:11:24.

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