FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
aplicaion que se conecta a otras bases de datos
buenos tardes compañeros estoy terminando la aplicaion para un hotel, la cual se conecta a una base de datos de access y a otra de mysql para leer cargos, dichas interfaces actualmente funcionan pero con algunas restricciones, para conectar con la de mysql la maquina necesita estar en una red .11, y todas las maquinas estan en la red .10, solo ahi una que esta en la .11 y los usuarios se quejan por que necesitan correr ciertos procesos de la reserva en esa maquina, me piden que eso cambie y las soluciones que he encontrado son dos:
1.- insertar estado de los procesos en una tabla y poner una aplicacion en el servidor que este leyendo todo el tiempo esta tabla, y al ver que cambia el estado que corra esos procesos para quitar la restriccion de la red, la pregunta es no sera demasiado costoso que este corriendo todo el tiempo un programa en el server que este leyendo la tabla???, y otro inconveniente que veo es que algunas reservas no seran tomadas en cuenta ya que llevaran mas prioridad las que esten arriba en la tabla. 2.- la otra (no estoy seguro si se pueda hacer) es crear una aplicacion que mas bien seria coom una funcion y que solo se ejecute cuando alguna maquina le pase parametros, se podria hacer??? nota: el servidor donde corre la aplicaion cuenta condos tarjetas de red por lo cual puede ver las dos redes la .10 y la .11 graciasp or cualquier comentario |
#2
|
|||
|
|||
Hola Richy08,
Puedes hacerlo de varias formas. Lo que comentas de crear una aplicación que reciba parámetros no está mal encaminada. Una solución (si no lo has hecho antes, quizás pueda ser algo complicada) sería desarrollar una Servidor TPC, que reciba peticiones en el servidor y ejecute procesos que se conecten a una base de datos u otra. Igualmente, puedes crear un ActiveX Library, instalarla en el servidor e igual que el caso anterior, recibir peticiones para ejecutarlas en el servidor. En ambos casos, lo que consigues es los ordenadores clientes realicen peticiones a un software que se ejecuta en el servidor. Este Software que se ejecuta en el servidor, podrá conectar a una base de datos u otra. Espero que te ayude. Un saludo. |
#3
|
||||
|
||||
gracias por la respuesta manuc, la verdad aun no he llegado a ese punto donde partire la aplicaion de los ejemplos que me comentas me parecen una buena opcion, pero he buscado en el foro y no encuentro nada de informacion tendras un link para orientarme, otra forma que habia estado pensando es hacerlo via sockets enviar una cadena y pues en el sevidor desbaratarla y ahi tendria mis parametros cree que funcione de esta forma??? y cuales son los inconvenientes de hacerlo asi, que me recomendarias muchas gracias por tu tiempo
|
#4
|
|||
|
|||
Hola richy08,
Disculpa, con lo de Servidor TCP me refería exactamente (perdona, no he sido muy preciso) a un Software Servidor por Socket. En realidad ambas soluciones utilizan conexiones por Socket. Quizás, crear una ActiveX Library, sea más sencillo si no has trabajado antes con Sockets. ¿Con qué versión de Delphi trabajas? |
#5
|
||||
|
||||
a ok jeje disculpa mi ignorancia trabajo con delphi 7, y pues alguna ves vi un ejemplo de un tipo chat que utilizaba sockets, pero cualquier informacion me servira de mucha ayuda
|
#6
|
|||
|
|||
Entonces imagino que trabajarás con Indy 9.
Te adjunto un ejemplo de como hacer un cliente y servidor con Sockets. Tiene la extensión .zip, pero realmente es un .rar. Espero que te ayude. Un saludo. |
#7
|
||||
|
||||
mil gracias por tu tiempo manuc le voy a echar un vistazo y comento
|
#8
|
||||
|
||||
hola manuc ya empeze a cambiar mi codigo y estoy analizando los proyectos que me enviaste te has percatado que la cerrar el cliente marca un error??
o es solo en mi maquina saludos. |
#9
|
|||
|
|||
Hola richy08,
¿qué lanza un error o una excepción? La verdad es que no lo he probado. Sí es normal, que al desconectar el cliente, el servidor lance una excepción. Un saludo. |
#10
|
||||
|
||||
a ok perfecto de hecho es una excepcion, entonces seguire adelante mil gracias por tu tiempo
|
#11
|
|||
|
|||
de nada richy08, encantado de poder ayudar.
Hay que compartir. Llevo años aprendiendo en este foro, gracias a la generosidad de sus participantes y voy devolviendo el favor a medida que puedo. Un saludo. |
#12
|
||||
|
||||
buenas tardes manu sigo con la aplicacion y he estado probandola y comprendiendola, pero e notado algo extraño tal ves pienso que puede ser al servidor dns de la empresa, no estoy seguro. el error que le noto es que al querer enviar un mensaje a una maquina en especifico solo la aplicacion del servidor recibe los valores, y a la maquina que va dirigido no, y la duda es mas grande es indy 9 funciona en windows 7
|
#13
|
|||
|
|||
Hola Richy08,
Yo tengo aplicaciones que utilizan indy9 y funcionan perfectamente en Windows Vista y Windows 7. El error que comentas, la verdad es que no lo he entendido bien. Cuando dices que intentas enviar a otras máquinas: ¿te refieres a otro ordenador cliente? ¿cómo lo estás haciendo? |
#14
|
||||
|
||||
asi es manuc en la aplicacion queme pasaste estoy tratando de adaptarla a mis necesidades pero al usar el campo recipient (le pongo el nombre de la maquina o la ip) y los mensajes no llegan solo en la parte del server se ven pero al destinatario nunca llegan, alguna idea de que pueda ser , segun lo que he leido de los componentes en la parte de host del tcp que va en la parte del cliente, ese campo lleva la direccion ip o el nombre de la maquina donde se encuentra el servidor, los he configurado asi ademas modifique el proyecto por que estaba compilando con las librerias y dichas librerias no estan en le cliente, lo extraño de todo esto que los mensajes solo llegan cuando son broadcast.
Última edición por richy08 fecha: 08-07-2010 a las 17:40:56. |
#15
|
|||
|
|||
Disculpa richy,
No se si lo que estás intentando es conectar dos tidTCPClients. Si es así, no podrás hacerlo. Tu arquitectura tiene que seguir siempre un modelo Cliente -> Servidor. Si lo que quieres es enviar información de un cliente a otro cliente, tendrás que pasar por el servidor y que este redireccione la información. Si me comentas qué tipo de estructura estás intentando montar, te puedo aconsejar cómo hacerlo. Un saludo. |
#16
|
||||
|
||||
gracias manuc no efectivamenete estoy siguiendo la estructura cliente - servidor de hecho estoy probando con los ejecutables de los ejemplos que me enviaste, lo que quiero lograr es que al enviar los parametros a la aplicaion esta ejecute el codigo que ya tengo programado y al terminar le envie un message a la maquina que lo mando llamar solamente y diga algo como done¡¡ ahora mismo estoy en sitio donde esta instalada la aplicacion hare pruebas con los mismos ejecutables dentro de su red para descartar que sea el servidor DNS de la empresa saludos
|
#17
|
||||
|
||||
hola manuc ya logre que funcione la aplicacion no la he terminado primero me gustaria preguntarte algo, ahora lo unico que hace es que cuando el cliente envia la peticion de conexion le regresa la cadena diciendole que le proceso se hizo, creo que con esto bastara ya despues le agregare mas campos que seran mis variables al record "TCommBlock", este es el codigo que uso en el cliente
//clientes
la pregunta aqui es en que momento desconecto la conexion ya que la mayoria de los procesos de las interfaces se llevan en esta pantalla al ir presionando botones segun cambie de estado la reservacion. //Server entre estas etiquetas creo que debe de ir el codigo de los procesos ver arriba en el codigo del server //**************************************************** //codigo de los procesos a ejecutar "segun yo" //**************************************************** la pregunta aqui es que pasa si dos estaciones abren esta pantalla las dos trabajando sobre diferente records y por asares del destino mientras los querys estan haciendo los procesos de la peticion de una maquina, que pasa si otra manda llamar al mismo proceso lso querys seguiran ejecutando la peticion de la otra maquina y esperaran a que terminen para comenzar con la nueva transaccion gracias. |
#18
|
||||
|
||||
sigo con las pruebas y si al parecer me hace falta algo, ya que al ejecutar los querys y simular un enpalme de peticiones de dos maquinas diferentes me marca un error y la aplicaion server se queda pasmada, el error que me marca es que no se pueden completar las operaciones de forma asincrona, algun manual donde pueda ver como sincronizar las operaciones gracias
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Filas de 1 color y otras de otras En Synedit IDE Delphi? | JXJ | Varios | 1 | 11-12-2008 00:01:28 |
Otras Bases de datos | luxus | Conexión con bases de datos | 3 | 23-03-2007 10:55:48 |
La Base de Datos no se conecta por TCP | elmago | Firebird e Interbase | 4 | 29-01-2006 00:53:35 |
Llenar una tabla con datos de otras dos tablas | jovehe | Tablas planas | 2 | 23-08-2004 17:21:55 |
Datos no se actualizan en otras transacciones | erickperez6 | Firebird e Interbase | 4 | 04-09-2003 17:30:03 |
|