Aplicacion Cliente-Servidor + BD. [tema cerrado]

Iniciado por moskita789, 7 Abril 2013, 04:34 AM

0 Miembros y 1 Visitante están viendo este tema.

moskita789

Hola Gente:
Como dice el enunciado mi consulta es la siguiente, necesito hacer un aplicacion cliente-servidor donde en el servidor este alojada la Base de Datos y en el cliente pueda realizar consultas a esta.
Es decir desde el cliente tiro una consulta sql, el servidor la interpreta y me devuelve el resultado de dicha consulta anteriormente arrojada hacia la BD.

La duda es la siguiente que protocolo deberia usar TCP/IP para conectarme a este servidor que va a estar alojada en otra maquina, pero por ejemplo tengo conocimiento en socket pero solamente envie textos.. Digamos llegue a hacer un minichat por decirlo de alguna manera y bueno no entiendo como enviar una consulta y que el servidor me de esa respuesta. Ayuda?

Barugasu

¿Podrías explicar un poco más qué tipo de consultas quieres hacer desde los clientes?

O sea, ¿qué tipo de operaciones quieres hacer con tu cliente?, o bien, ¿qué opciones te gustaría ponerle?

Saludos. Barugasu.

MCKSys Argentina

Si ya haz enviado texto, puedes enciar el sql plano y devolver en un formato determinado. Por ej. CVS: http://es.wikipedia.org/wiki/CSV

Puedes encondear los mensajes enviados en base64 para agregar una especie de CRC.

Hay miles de implementaciones posibles... :)
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


moskita789

Bien muchachos.
Pero digamos no tengo otra manera de comunicarme que no sea con socket? si existe diganme cual. Sino investigo y otro ejemplo yo trabaje con apache como servidor.
Si quiero usar otro servidor como por ejemplo para visual cual tenemos?

MCKSys Argentina

Para no usar sockets, puedes usar samba...
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Barugasu

Apache? Entonces estamos hablando de una web?

Bueno, el principio es el mismo.

Da una descripción de lo que quieras que haga tu programa y así te podré ayudar un poco más.

Saludos. Barugasu.

moskita789

No digamos, utilize apache en mi momento.
Ahora quiero hacerlo en visual que es lo que necesito?
de principio 2 computadoras.
un motor sql
y el visual.
Algo mas?

Sql Server podria usarlo como mi server en una maquina y de con el visual hago mi aplicacion del lado cliente? asi seria la logica?

Barugasu

Tienes qué analizar primero las 2 computadoras.

¿Ambas tienen instalado y registrado corréctamente el componente MSWINSCK.ocx?

Si es así, entonces programar la aplicación en VB no debe ser problema.

Ahora, ¿qué pasa si las computadoras no cuentan con el MSWINSCK.ocx?

No importa, el CSocketMaster es un buen sustituto del Winsock y no tienes que tenerlo registrado en las computadoras, basta con añadirlos al proyecto de la aplicación.

Una vez que analizaste la situación de ambas computadoras.. ¡NO! Todavía no vamos a programar nada. Es más importante que instales todo lo que vas a necesitar, y con esto me refiero a instalar el servidor, el MySQL y demás.

Aquí hay unos 4 pasos que el autor te recomienda seguir, ya para "dejar lista" la parte técnica y luego ponernos a programar.

http://www.vertutoriales.com/index.php/conectar-visual-basic-6-vb6-con-mysql-pasos-previos-de-configuracion-para-eludir-problemas-o-errores/

Cuando termines esos pasos, regresa y avanzamos más en el tema.

Saludos. Barugasu.

PD: Por cierto, en el paso número 1, donde dice que configures tu base de datos para que se pueda acceder "desde el exterior" y no desde el localhost, se refiere a que lo configures todo en base a tu IP pública.

moskita789

Bueno en ese caso de acceder del exterior no me interesa mucho, es decir con conectarme Lan estoy contento..
Pero espera no seas tan apurado.
Necesito que en un maquina tenga Windows Server para instalar sqlserver2008 y en otra un windows xp, seven o lo que fuera para conectarme de modo cliente?

xustyx

Haber que me quede claro. quieres programar en VB un cliente que realize peticiones a una BD alojada en una maquina de tu red ¿no?