Página 4 de 5
Pedido de ajuda simples no MySql
Enviado: 04 Mai 2014 18:19
por Toledo
JoséQuintas escreveu:É bom deixar tudo anotado pra quando for fazer novamente.
Amigos, vejam este tutorial:
Instalando e configurando o MySQL para Harbour
Abraços,
Pedido de ajuda simples no MySql
Enviado: 24 Mai 2014 00:00
por cjp
Amigos,
Preciso da ajuda de vocês para dar prosseguimento no uso do MySQL.
Fiz a instalação e configuração do MySQL, seguindo o excelente tutorial que o Toledo postou. Funcionou tudo perfeitamente.
Só que eu preciso usar o MySQL em um banco de dados virtual, para que a base fique acessível a computadores distantes, que não estão ligados em rede.
Seguindo instrução do Toledo, contratei o serviço próprio do provedor com essa finalidade. Desde então, estou tentando usar, tanto seguindo as instruções do Toledo no citado tutorial, como também seguindo as instruções do próprio provedor.
Depois de várias informações desencontradas, agora o provedor me informa que o serviço contratado não funciona com a forma de conectar ensinada pelo Toledo no tutorial, por se tratar de um banco SQL Server 2008. Então, eu teria que instalar o SQL Server 2008 Management.
Já até instalei o SQL Server 2008 Management, mas também não consegui conexão com ele.
Pergunto aos colegas:
1) É mais fácil/melhor eu aprender a usar o SQL Server 2008 Management ou procurar outro provedor que forneça o serviço correspondente ao ensinado pelo Toledo no tutorial?
2) No primeiro caso, ele rodaria também em Harbour? E PHP?
3) No segundo caso, vocês poderiam me indicar exatamente qual o serviço que eu devo contratar do provedor para que funcione realmente com o modelo que o Toledo ensinou?
Pedido de ajuda simples no MySql
Enviado: 24 Mai 2014 00:35
por alxsts
Olá!
Independentemente do gerenciador de banco de dados relacional que você contratou, o provedor tem que te fornecer o endereço IP e a senha para você conseguir se conectar. Com esstas informações em mãos, conectar no SQL Server é até mais fácil, não precisando nem instalar software de conexão ODBC pois isto já vem com o Windows.
No tópico
Fazendo Backup no Banco de Dados MYSQL postei um exemplo de como conectar no SQL Server via ADO e fazer algumas operações.
Veja o trecho onde a conexão é feita:
Código: Selecionar todos
#include "ado.ch"
#include "hbcompat.ch"
REQUEST HB_CODEPAGE_PTISO
STATIC oCn As Object
INIT PROCEDURE AppInit()
LOCAL oErr As Object
LOCAL cCnString As Character
RELEASE GetList
HB_CDPSELECT("PTISO")
Set( _SET_DATEFORMAT, "dd/mm/yyyy" )
SetMode(50,150)
SetBlink( .F. )
SetColor( "W+/N, N/W*" )
CLS
Try
cCnString := "Provider=SQLNCLI10;Server=(Local);Database=Harbour;Uid=sa;Pwd=xyz;"
oCn := win_OleCreateObject("ADODB.Connection")
oCn:ConnectionString := cCnString
oCn:CursorLocation := adUseClient
oCn:Mode := adModeReadWrite
Catch oErr
Alert( "Não foi possível conectar ao banco de dados.;Erro: " + oErr:description, { " Fechar " } )
__Quit()
Finally
End
RETURN
Na linha
Código: Selecionar todos
cCnString := "Provider=SQLNCLI10;Server=(Local);Database=Harbour;Uid=sa;Pwd=xyz;"
troque (Local) pelo IP, Harbour pelo nome do teu banco, sa pelo nome do usuário e Pwd pela senha, tudo isso fornecido pelo teu provedor.
Pedido de ajuda simples no MySql
Enviado: 24 Mai 2014 01:05
por cjp
Alexandre,
Sim, eles me deram um ip (mssql01.inter.net.br), um usuário e uma senha.
Fiz a substituição, mas não consegui compilar o teu exemplo, pois está dando erro nos includes e no Try.
Parece que não estou com a versão correta do Harbour para isso, né? Uso o hb32, Windows 7.
Em outro post me falaram que teria que instalar uma outra versão do Harbour, mas eu não consegui.
Pedido de ajuda simples no MySql
Enviado: 24 Mai 2014 08:32
por Toledo
cjp escreveu:Seguindo instrução do Toledo, contratei o serviço próprio do provedor com essa finalidade.
Inácio, não foi bem isto que lhe instrui...
Toledo escreveu:Verifique se no seu Servidor (FTP) tem opção para criar banco de dados MySQL e qual é o endereço para conexão com o banco de dados. Geralmente os servidores disponibiliza um IP para conexão com o BD.
O que eu orientei você a fazer era de verificar no seu servidor se tinha opção para criar banco de dados
MySQL e não
SQL Server 2008. Por não prestar atenção no que lhe orientei, você contratou um serviço sem precisão e deve tá jogando dinheiro fora.
Geralmente no serviço básico (pacote básico) de qualquer servidor já vem com no mínimo um banco de dados MySQL, então você não precisa pagar mais nada por isto. Se você for pela conversa de certos servidores, todo dia você vai contratar um serviço novo.
Acho que você deve ter acesso ao Painel de Controle do seu servidor, lá geralmente tem informações sobre os bancos de dados
MySQL: Nome do banco de dados, usuário, IP do servidor
MySQL, etc.
Então pare de jogar dinheiro fora, se você está pagando pelo SQL Server, cancele já... e verifique se no Painel de Controle tem os dados do MySQL, principalmente:
- Nome do banco de dados
- Usuário e Senha
- IP do servidor MySQL
Com estes dados na mão, tanto o exemplo do Alexandre (
alxsts), como o meu, irão funcionar corretamente.
cjp escreveu:pois está dando erro nos includes e no Try.
Vai aqui um dica: quando sentir falta de algum include (arquivo CH), abra o prompt do DOS e entre na pasta do Harbour (c:\hb32) e depois digite:
DIR nomedoarquivo.ch /s/p
Por exemplo: DIR
hbcompat.ch /s/p
Se você encontrar o arquivo CH em outra pasta que não seja a pasta C:\HB32\INCLUDE, copie o arquivo da pasta onde ele está para a pasta INCLUDE do Harbour.
No caso do arquivo ado.ch, ele é do xHarbour, então provavelmente você não vai encontrar ele no Harbour. Mas no link abaixo você pode copiar ele e salvar na pasta INCLUDE do seu Harbour.
https://pctoledo.org/forum/viewto ... 351#p84351
cjp escreveu:Parece que não estou com a versão correta do Harbour para isso, né?
Com o Harbour 3.2 vai funcionar sem problemas.
Abraços,
Pedido de ajuda simples no MySql
Enviado: 24 Mai 2014 11:22
por cjp
Então, Toledo, eu fiz como vc havia dito: vi no painel de controle do provedor, mas a opção de SQL estava com um "Solicitar ativação". Daí eu mandei um e-mail para o provedor solicitando ativação. Só que eles queriam me cobrar uma mensalidade extra de R$ 50,00. Achei um absurdo e procurei outro provedor. Só que, por erro meu (não foi informação errada tua; acho que me expressei mal), contratei o serviço errado.
Mas olhando novamente no painel de controle do meu provedor original, vi que tem uma opção de solicitar ativação no próprio painel de controle. Fiz isso agora e já recebi o IP, usuário e senha. Não sei se eles irão me cobrar a mensalidade extra depois, mas, como não tem nenhuma informação sobre isso no site, se cobrarem, vou brigar com eles.
Testei agora o teu modelo com os dados fornecidos e funcionou perfeitamente.
Muito obrigado.
P.S.: A tua dica de procurar o arquivo .ch eu já conhecia. Fiz isso com o ado.ch, mas não achei, e daí achei que todos fossem de uma versão diferente.
Pedido de ajuda simples no MySql
Enviado: 04 Nov 2014 14:50
por filizola
seguindo exemplo postado pelo amigo rochinha. mudei o odbc pra minha versão.
CASE Upper( cDbEngine ) == "MYSQL"
oConnection:Open( "DRIVER={MySQL ODBC 5.3 ANSI Driver};" + ;
"server=" + cServer + ;
";database=" + cDataBase + ;
";uid=" + cUserName + ;
";pwd=" + cPassword )
ENDCASE
Pedido de ajuda simples no MySql
Enviado: 04 Nov 2014 18:08
por rochinha
Amiguinho,
Você alterou o ADORDD.PRG? então deve incluí-lo como segue abaixo, veja o
include no final:
Código: Selecionar todos
/*
* $Id: mysql1.prg 9217 2008-08-23 15:02:49Z vszakats $
*/
#include "adordd.ch"
THREAD STATIC t_cTableName
THREAD STATIC t_cEngine
THREAD STATIC t_cServer
THREAD STATIC t_cUserName
THREAD STATIC t_cPassword
THREAD STATIC t_cQuery := ""
REQUEST ADORDD
function Main()
USE mysql VIA "ADORDD" TABLE "user" MYSQL ;
FROM "127.0.0.1" USER "root" PASSWORD ""
Browse()
USE
return nil
#include "adordd.prg"
Pedido de ajuda simples no MySql
Enviado: 04 Nov 2014 18:14
por filizola
Sim, esta exatamente assim. ao compilar informo hbmk2 mysql1 -lhbwin
compila sem erro, porem falha ao procurar o ODBC
Pedido de ajuda simples no MySql
Enviado: 04 Nov 2014 18:29
por rochinha
Amiguinho,
Todos que tiveram este erro inclusive eu, estávamos usando Windows Seven.
Não consegui incluir mais informações na mensagem anterior mas segue mais informação:
Deixe o trecho que você alterou como estava e inclua:
Código: Selecionar todos
CASE Upper( cDbEngine ) == "MYSQL"
oConnection:Open( "DRIVER={MySQL ODBC 3.51 Driver};" + ;
"server=" + cServer + ;
";database=" + cDataBase + ;
";uid=" + cUserName + ;
";pwd=" + cPassword )
CASE Upper( cDbEngine ) == "MYSQL5"
oConnection:Open( "DRIVER={MySQL ODBC 5.3 ANSI Driver};" + ;
"server=" + cServer + ;
";database=" + cDataBase + ;
";uid=" + cUserName + ;
";pwd=" + cPassword )
Tente incluir a fonte de dados do MySQL em Fontes de Dados de Sistema no painel ODBC.
Coloquei os arquivos deste RDD no 4shared:
adordd_harbour-32-17626.rar.
Pedido de ajuda simples no MySql
Enviado: 04 Nov 2014 19:12
por filizola
Retorna sempre o mesmo erro. vou testando ate a exaustão pra ver se consigo andar.
Pedido de ajuda simples no MySql
Enviado: 05 Nov 2014 00:28
por rochinha
Amiguinho,
Ufah. Que canseira, instalei tanta coisa, compilei tantas vezes que to vesgo.
Vamos lá:
Baixe e instale
MyODBC-standard-3.5.19-win.rar
Baixe e instale
MySQL-ODBC-5.3.2 para Windows 32bits ou
MySQL-ODBC-532 para Windows 64bits
Acho que no Windows Seven o Driver MyODBC 3.5.19 não fica bem instalado e quando voce instala a versão mais atual o registro é atualizado e o driver antigo passa a funcionar.
Vamos tentar.
Pedido de ajuda simples no MySql
Enviado: 06 Nov 2014 14:47
por filizola
Mestre Rochinha, valeu amigo, agora deu certinho, estranho essas situações de odbc, quando vc postou sobre o problema nos drivers odbc, me lembrei na hora que quando atualizei a versão do banco postgres de um sistema, quase morri de tanto procurar o problema da não conexão com o dito cujo e no final era o odbc.
Obrigado amigo, vou fazer uns testes e definir qual será a melhor opção para usar (mediator, adordd ou sqlmix).
Pedido de ajuda simples no MySql
Enviado: 07 Nov 2014 22:04
por filizola
Rochinha, fiz os testes de append e replace e funcionou direitinho camarada, até aqui foi o mais prático que achei. Sabe se existe algum bug neste rdd ?
Desde já agradeço.
Pedido de ajuda simples no MySql
Enviado: 08 Nov 2014 00:21
por rochinha
Amiguinho,
Não fui fundo ainda, mas com os testes que tive de fazer aconteceu de um registro sendo incluso num browse não ser atualizado em outro.
No DBF pelo fato de estarmos mexendo diretamente com a tabela e não com queries ao incluir um registro num local o mesmo se reflete do outro lado.
No caso de usar SQL, o browse precisará de codigo adicional que possa refletir as mudanças feitas em outro local.
Procure o ADORDD.PRG e ADORDD.CH mais atual e trabalhe com ele.
Acho que se voce optar por usar o ADORDD e SQLMix terá mais ganho do que adotar Mediator.
O motor ADO foi renovado nos Windows Seven em diante, mas os métodos continuam os mesmos.
Só tenha em mente que registro fantasma é coisa do xBase. Portanto dar Append blank e trabalhar no registro pode não funcionar com ADO.
Outra coisa, ao dar replaces, tenha certeza de estar fazendo com todos os campos, pois ADO não trabalha como xBase, ADO não permite campos sem valor.
ADO foi feito pelo Chuck Norris, entendeu?