Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





VB6 & MySQL

Iniciado por •Parra, 04 de Julio de 2009, 10:07:29 PM

« anterior - próximo »

•Parra

Hola amigos! ^^

Tenia una duda.. y es la siguiente:

Tengo instalado el AppServer 2.4.7, y he creado una base de datos, que puedo conectarme en localhost, editarla y hacer todo lo que quiera... y ahora quise probar conectandome con el mismo codigo a una base de datos, en un host web (concretamente, byethost), y me dice que no existe la base de datos, pero si me puedo conectar desde php.

Esto porque pasa? Es porque solo puedo conectarme creando una base de datos en mi pc? VB6 se puede conectar a una base de datos en un hosting web? Es lo mismo o son cosas diferentes?

Gracias a las respuestas.. :P

davidgf

Te refieres a conectarte desde un programa en VB 6 en tu PC a una base de datos en un servidor??
SI que se puede, lo que sucede es que el 99,999% de los servidores mysql solo aceptan conexiones locales, por esa razón sólo los programas alojados en el servidor puede acceder (ya sean php, cgi-bin, etc...)
Es más si pruebas a conectarte a tu base de datos local (en tu PC) des de otro PC de casa tuya lo más probable es que te mande de paseo.
Yo tuve este problema en una red local donde había un PC con server MySql y tuve que cambiar los permisos con GRANT (es una consulta SQL, lo hice des de la interfaz de MySQL tools) y luego hacer un FLUSH.

Logicamente si el servidor no es tuyo no podrás cambiar los accesos, como mucho pedirselo al admin del server.
Un par de links:
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
http://dev.mysql.com/doc/refman/5.1/en/grant.html

Si no tienes alternativa yo hice un truco más cutre. Necesitava que un programa local se conectara a internet i accediera a BD, e hice unos scripts en PHP que me devolvían los resultados de las consultas SQL que realizaba.

Funcionaba bastante bien, incluso guardaba pequeños archivos en Base64.

Saludos!

David
Tàrraco: una aventura por la Tarragona romana (http://tarraco.davidgf.net)

•Parra

Cita de: davidgf en 05 de Julio de 2009, 02:13:21 AM
Si no tienes alternativa yo hice un truco más cutre. Necesitava que un programa local se conectara a internet i accediera a BD, e hice unos scripts en PHP que me devolvían los resultados de las consultas SQL que realizaba.

Funcionaba bastante bien, incluso guardaba pequeños archivos en Base64.

Saludos!

David

Jaja, en realidad yo estaba pensando eso como ultimo recurso.. pero la verdad no se que hacer.. si hacer una base de datos local, o como hacerlo.. tendré que pensarlo bien.

Tu que me recomiendas? El tema es que es que lo que estoy haciendo es Servidor, entonces necesito guardar algo de informacion.. y mysql me viene perfecto.. pero para hostear este servidor tendre que pagar a un hosting, y despues pondré para que se puedan descargar el cliente.

Yo lo que queria hacer era esto, de esta forma podrian crearse las cuentas por web, y conectarse al servidor directamente. Pero si es tan complicado no se que hacer. Lo que si tengo pensado hacer es todo lo que sea información que no esté relacionado con cuentas, lo voy a guardar en la db local.

Muchas gracias por tu informacion, un saludo!

[EX3]

Si fuera .NET te diria que hicieras un servicio web en la plataforma que use el servidor (si fuera IIS lo podrias desarrollar directamente en VB.NET). La practica final que hice del master de .NET tenia por un lado una web ASP.NET 2.0 con base de datos (IIS y SQL Server 2005), un cliente Windows en VB.NET y un servicio Web que hacia de puente permitiendo realizar consultas especificas a la base de datos del servidor.

En VB6.0 tengo entendido que se pueden usar servicios web (http://www.elguille.info/NET/dotnet/clienteVB6servicioWeb.htm). Mira a ver si te sirve de algo (busca informacion a parte de como funcionan los servicios web para ver como conectar la base de datos al servicio y poder realizar consultas que te devuelvan los datos en un XML por ejemplo).

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

•Parra

No tengo ni idea de lo que es un servicio.. ni como funciona xD

Como ultimo recurso, seria hacer un script que comunicara el visual basic con la db..

[EX3]

Un servicio web viene a ser como un programa ubicado en un servidor al que se le pueden hacer peticiones mediante comandos definidos en el propio servicio, como por ejemplo obtener una lista de clientes. Para mas detalles: http://es.wikipedia.org/wiki/Servicio_web

Tu servicio tendria funciones implementadas para realizar las consultas a la base de datos que tu llamarias desde tu cliente, estas funciones pueden devolver un solo dato o bien devover un conjunto mediante una estructura XML. Tambien podrias implementar una funcion a la que le pasas la cadena de consulta SQL y que te devuelva un XML con el contenido del resultado.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

•Parra

Y como me comunicaria con un programa externo al servicio?

[EX3]

#7
Cita de: [EX3] en 05 de Julio de 2009, 05:54:36 PM
Si fuera .NET te diria que hicieras un servicio web en la plataforma que use el servidor (si fuera IIS lo podrias desarrollar directamente en VB.NET). La practica final que hice del master de .NET tenia por un lado una web ASP.NET 2.0 con base de datos (IIS y SQL Server 2005), un cliente Windows en VB.NET y un servicio Web que hacia de puente permitiendo realizar consultas especificas a la base de datos del servidor.

En VB6.0 tengo entendido que se pueden usar servicios web (http://www.elguille.info/NET/dotnet/clienteVB6servicioWeb.htm). Mira a ver si te sirve de algo (busca informacion a parte de como funcionan los servicios web para ver como conectar la base de datos al servicio y poder realizar consultas que te devuelvan los datos en un XML por ejemplo).

Salu2...

Salu2... :P

P.D.: Aunque el ejemplo que desarrollan conecta con un servicio web hecho en .NET segun creo sirve para concetar con cualquier tipo de servicio web, sea o no .NET.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

•Parra

#8
Uff pero eso es bastante más complicado de como yo lo tengo...

Yo tengo algo bastante sencillo, donde puedo obtener la información facilmente.. yo creo que lo mejor será hacer lo que dijo davidgf.. y mediante algun script obtener la informacion desde la web.

Por ejemplo, en ese programa que se supone que se conecta el inet? yo ahi veo un archivo .xml.. pero y la base de datos donde aparece? XD

[EX3]

#9
Ese ejemplo es generico. Tu tendrias que programar el como el servicio web hace las consultas a la base de datos. Un servicio web no solo consulta a una base de datos, como te decia, es igual a un programa o una libreria, ofrece funciones accesibles via web para hacer cualquier cosa que implementes.

Si lo del script te sale mas sencillo adelante, yo lo del servicio web lo veia mas interesante ya que puedes programarlo tan complejo como quieras e incluso realizar operaciones que quizas en un script no podrias. Lo que no se es si con el script podras implementar un sistema de password para acceder a la base de datos, esto es, yo con el servicio web puedo hacer que a la hora de pasarle un parametro con la consulta sql y otro parametro con un password y/u otro parametro con un usuario, para asi evitar que gente de fuera pueda cacharrear con la base de datos. Antes de ejecutar la consutla sql comprobaria si los datos de usuario y password son correctos. El servicio web es binario, por lo que a diferencia de un script no podrias saltarte pasos en la ejecucion y cosas de esas.

Salu2...

P.D.: A todo esto, si es cierto que el ejemplo de elGuille es algo complejo. En .NET al menos recuerdo que era menos complicado conectar a un servicio web (agregar referencia via http en el proyecto) y crear un objeto del tipo del servicio para acceder a sus funciones, pero no he encontrado nada mas sencillo para VB6.0.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

•Parra

mmm y no tienes algun ejemplo tuyo programado.. un poco mas simple?  :'( jeje

Voy a estudiarme bien este programa/tutorial de el guille, a ver que puedo hacer, pero no tengo demasiada idea con esto de los servicios, ni sabia que existian hasta que me lo nombraste tu :P

Un saludo! Gracias..

[EX3]

En VB6.0 no. En .NET te podria pasar el codigo de servicio web que hice para mi proyecto final, que esta en C#, no en VB.NET.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

•Parra

Si quieres.. quizá me pueda ayudar..

[EX3]

#13
 Acabo de buscar mi susodicho proyecto final del master para colgarlo y no lo encuentro ni en los discos de backup. Trabajo tirado a la basura, me cawento  :'(

Te puedo pasar unos enlaces de la web de elGuille, que por explicaciones y demas de como funcionan te muestran como crear un servicio web en ASP.NET y como enlazarlos en programas cliente. Viendo por encima creo que los ejemplos estan en VB.NET y C#:

http://www.elguille.info/NET/WebServices/Default.aspx

Aun con todo esto, tienes que mirar si realmente te a servir de solucion lo del servicio web. Piensa que tendras que desarrollar un servicio web para la plataforma que use el servidor que estas usando. Mis ejemplos y los de elGuille son servicios web y clientes desarrollados en .NET por lo que solo correran sobre un servidor MS IIS con ASP.NET y su desarrollo quizas poco tenga que ver con PHP (no lo se). Si lo del script decias que te servia de solucion prueba primero por ahi por ser quizas mas sencillo. Yo lo que pretendo es que al menos sepas que existen los servicios web y para que sirven, sobre todo si vas a tener que tocar mucho lo desarrollar aplicaciones cliente contra servidor. Si hay tutoriales para desarrollarlos para Apache y demas con PHP echales un ojo a ver si te ilustran un poco sobre el tema. En esta busqueda google :

crear servicios web con php

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

[EX3]

Falsa alarma, lo tenia abandonado en un pen-drive mugriento de 2GB  :D

Te lo he subido a esta direccion, te hara falta tener instalado VB.NET Express, VC# Express y Web Developer Studio Express (aunque esta desarrollado en VS 2005 deberia ir a la perfeccion en la version 2008) y no se si la ultima version de mi libreria (dx_lib32) te servira (esto en caso de intentar ejecutarlo, claro):

http://dxlib32.se32.com/private/StarDuel.zip

Asi refrescando un poco la memoria, segun veo el cliente, desarrollado en VB.NET, se supone que tiene que conectar a la base de datos de la web para logear un usuario, todo esto a traves del servicio web, pero veo que esa parte no esta hecha :S (el formulario de login). El servicio web trabaja con ADO.NET para la consulta a la base de datos en SQL Server 2005 (la base de datos no se donde esta y tendrias que andar conectandola con tu instancia de SQL Server, un poco coñazo). La pagina web parece que tambien usaba el servicio web para acceder a la base de datos si no me equivoco (vamos, que parece que la usan de puente tanto la web como el cliente). La verdad que ni yo mismo entiendo ahora mismo como esta armado el asunto :P Y encima no tengo instalado el Web Developer Studio Express con lo cual no puedo ver con detalle como tengo armada la web ni ver las propiedades del servicio web, pero vamos, con el bloc de notas puedes echar un ojo al codigo fuente del servicio web, esta en C#, como la web ASP.NET e incluso contrastar con los ejemplos de la web de elGuille.

La verdad, siento no poder ser de mucha mas ayuda en este tema y mas despues del coñazo que te he dado con lo de los servicios web  :-[ Espero que al menos le puedas sacar provecho y tratar de desarrollarlos en PHP.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.