APLICATIVO VB6 CONSULTANDO E GRAVANDO DADOS MYSQL

LUIS.HERRERA 04/03/2011 11:17:15
#367232
Amigos bom dia.
Tenho um programa em VB6 para desktop. Agora estou querendo fazer uma checagem via internet (meu site) se o software está registrado ou não.

no meu site tenho um MySQL que uso para algumas coisas via PHP, tipo login em área restrita para atualizações etc...

Minha intenção é criar uma tabela de clientes registrados como Nome, CNPJ, Software, Serial Registro, Data Registro e Situação (ativo ou inativo)

Pelo meu software gostaria de consultar esta tabela e conferir se o software em uso está registrado.

Dúvida: Como eu faço isso via código?
Não conheço muito de MySQL ou pHP, só o mínimo para pequenas ações. Assim não sei se tenho de fazer essa consulta/insert ou update da tabela via PHP ou diretamente por conexão do app do VB6.

Se for via PHP, como eu chamaria a página passando os parâmetros sem que o usuário soubesse disso, pois não quero abrir o navegador. Além disso como eu receberia uma resposta dessa página em PHP?

Agora se for com acesso direto ao banco, o que seria preciso no meu sistema para funcionar?
O que eu teria de distribuir no instalador?
E como faria a codificação, alguém tem algum exemplo de projeto?
é possível fazer isso pelo INET do Windows? é seguro, pode corromper o banco na internet?

Agradeço qualquer informação.
TECLA 04/03/2011 11:50:24
#367235
Resposta escolhida
Dá pra executar as rotinas de consulta e atualização de forma REMOTA e diretamente pelo VB6.

Supondo que já tem o endereço do servidor, a connection string seria como esta:
Driver={MySQL ODBC 5.1 Driver};Server=myServerAddress;Database=myDataBase;User=myUsername; Password=myPassword;Option=3;


Caso o acesso não esteja liberado para aplicações externas, você teria que escrever uma página em PHP / ASP / ASP.NET para realizar as transações.
Como não programo em PHP, poderia te ajudar com ASP / ASP.NET.

Antes disso, sugiro que tente estabelecer a comunicação com o SGBD externamente usando o VB6.
Não esqueça de instalar o MySQL ODBC de acordo com a versão do banco.
LUIS.HERRERA 04/03/2011 13:08:23
#367250
Valeu TECLA vou testar e se der algum problema volto a escrever.

Porém como o site está hospedado em servidor Linux, só posso usar o PHP lá.
Assim se alguém souber como se faria isso com página PHP e puder explicar (o código do VB) para chamar a página PHP e enviar os dados, bem como receber a resposta do PHP agradeço, pois pode ser melhor que ter de distribuir outro instalador para os clientes, já que isso precisaria ser feito em cada terminal que já usa o sistema e tem clientes com muitos terminais. Assim o PHP eu mesmo faria tudo no site facilitando e só teria de trocar o EXE do programa que está no servidor.
LUIS.HERRERA 04/03/2011 17:02:29
#367274
Tecla eu tenho um programa para fazer manutenção do MySQL que se chama HeidiSQL v.5.0. (muito bom). Com ele eu consigo abrir o banco do site, e fazer consultas, editar, incluir etc.. é como eu mantenho o banco. Assim acredito que o banco já esteja com permissão para acesso externo correto?

Deste modo pensei que já tivesse um drive de conexão com o MySQL instalado por esse aplicativo, pois não tenho o MySQL no meu micro. Mas ao tentar usar a string que passou com os respectivos dados de acesso, retornou o seguinte erro:

Err.Number = -2147467259
Descrição = [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

Será que esse programa não usa ODBC? Onde eu vejo isso?
Se não usar, como será que ele faz essa conexão, pois o programa não foi instalado no meu micro, porque é uma versão portable.

Tem que colocar alguma informação de porta 3306, pois esse programa usa essa porta na conexão com o banco? Onde isso fica na string do VB?
Será que falta alguma coisa nessa string abaixo?
O que seria o Option=3 nela?

cnMySQL.Open [Ô]Driver={MySQL ODBC 5.1 Driver};Server=IPdoServidorSite;Database=nomeDoBanco;User=MeuUsuario; Password=MinhaSenha;Option=3;[Ô]

Aguardo ajuda.
TECLA 04/03/2011 17:08:52
#367275
Baixa o conector ODBC e instala no seu PC.
http://dev.mysql.com/downloads/connector/odbc/

Qual é a versão do servidor MySQL?
LUIS.HERRERA 04/03/2011 17:28:14
#367278
v. 5.1
TECLA 04/03/2011 21:43:51
#367295
OK.

O link que te passei é para esta versão.
é só baixar, instalar e tentar conectar no MySQL.
LUIS.HERRERA 07/03/2011 16:12:29
#367473
Pessoal descobri um projeto em VB6 que faz a conexão com o MySQL. Ele usa uma DLL na verão 27/03/2001 com 393 kb.
Essa DLL é usada pelo software HeidiSQL v.5.1, porém é mais recente e atual de 04/02/2011 com 2.304 kb.

Pesquisei na web mais não encontrei um projeto mais atualizado. Alguém já usou essa DLL ou saberia onde encontrar um projeto exemplo mais atualizado para MySQL 5.1 dessa DLL?
O projeto não funciona, diz para usar uma versão cliente mais recente, pois o banco é 5.1 e a DLL v.2.0
Tentei substituir a DLL pela mais nova, mas o VB6 dá erro geral e fecha o aplicativo, já que deve haver incompatibilidade no código do projeto com a DLL mais recente.

Nota:achei interessante essa DLL, pois ela não é registrada no micro, e assim não seria necessário instalar em cada terminal o ODBC do MySQL.

Anexo o projeto que encontrei se o pessoal tiver interesse em conhecer.
LUIS.HERRERA 09/03/2011 15:16:50
#367576
Alguém tem alguma informação dessa DLL?
LUIS.HERRERA 11/03/2011 11:13:23
#367753
Bem Barros vi esse projeto, mas parece descontinuado. Parece que vi comentários que também não funciona corretamente com mySQL 5.1 ( que é o banco do meu site).
O maior problema é ter de reinstalar algo em todos os terminais, isso deixaria o pessoal de TI de alguns clientes a ponto de me mandar para ..... e queimar meu sistema. Tem um cliente que tem 800 micros instalados, já pensou? por isso estou relutante com o ODBC do próprio mySQL pelo mesmo motivo.

A DLL que pasei não recisava disso, bastaria copiar para a pasta do programa e pronto. Mas parece que também não há exemplos mais recentes, apesas do HeidiSQL 5.1 (Adminsitrador para mySQL remoto) estar usando ela atualizada.

Estou agora procurando como fazer o VB6 usar o PHP do site para isso. Ainda não consegui nada, mas deve ser possível e até mais fácil, então eu chamaria um php enviando dados e ele retornaria o resultado. Só tenho que descobrir como (risos).
Página 1 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas