Retornar a Conexão do banco de Dados

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Retornar a Conexão do banco de Dados

Mensagem por Vlademiro »

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Uso DBF só pros casos de browse.
Talvez se interesse pelo ADORDD, tá em projeto separado do Harbour.
Eu não quis mexer no que já estava usando, mas a intenção dele é usar igual DBF.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Retornar a Conexão do banco de Dados

Mensagem por Antonio »

Obrigado a todos!

Vou estudar todo esse material. Confesso que ainda estou meio confuso mas vou estudar.

Jose Quintas,
A sua simplicidade é algo admirável.

:-Y
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Retornar a Conexão do banco de Dados

Mensagem por Vlademiro »

Simplicidade é uma característica dos bons programadores, isso a gente pode perceber no Quintas. O seu código é simples e claro.
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Retornar a Conexão do banco de Dados

Mensagem por Antonio »

Ola Vlademiro,
Obrigado pelas postagens.

Eu na verdade me refiro a simplicidade como pessoa mesmo. Sem tripudiação, sem arrogância... que muito se vê no dia a dia.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Retornar a Conexão do banco de Dados

Mensagem por Antonio »

Obrigado Quintas e a todos os colegas.

Ja consegui invocar uma função que me retorna a conexão com o banco de dados.
Através de um Record Set eu invoco uma instrução SQL na conexão retornada pela função.
Na classe, atraves de metodos manipulo os dados.

Vou aprendendo mais conforme a evolução do pequeno trabalho que irei desenvolver

Obrigado Novamente.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Bom saber.

Só recapitulando o jeito que uso:

Recordset no uso normal
Recordset convertido pra DBF no browse, pra não ter que quebrar a cabeça com tbrowse especial pra ADO.

O meu aplicativo ainda não está 100% em ADO, então não quero perder tempo com rotina especial de tbrowse pra MySQL.
No momento, tem tabela que pode ser DBF ou MySQL, o aplicativo seleciona conforme existir MySQL instalado ou não.
Mas cansei de colocar IFs... fiz uma pausa nisso e esqueci de continuar.... rs... Mas tá rodando assim há mais de um ano.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
paulovirt
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 29 Jan 2007 10:00
Contato:

Retornar a Conexão do banco de Dados

Mensagem por paulovirt »

Amigos, boa noite.

Estou tentando criar um modelo de conexão do meu sistema xharbour no mysql, local mesmo. Para tanto, usei a SQLLIB, do amigo Vailton. O código segue abaixo:


#include "sqllib.ch"
#include "ord.ch"
#define CRLF CHR(13)+CHR(10)

REQUEST SQLLIB
REQUEST MySQL

FUNCTION MAIN
clear
* CONEXAO COM O BANCO DE DADOS

cConn:="Driver=MySQL;ip=localhost;usuario=root;senha=;banco=nome_do_banco"
SQL CONNECT cConn INTO nMySQL


* EXEMPLO DE COMO INSERIR DADOS
csql:= "INSERT INTO tabela(nome_usuario,email_usuario) VALUES ('FULANO DE TAL','fulano@detal.com.br')"
sqlexecute(csql)

O problema é que o programa executa, o sistema simplesmente para de funcionar, e o Windows 7 exibe uma mensagem dizendo que "parou de funcionar". Alguém teria algum outro método? Desde já agradeço.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Comunicação entre cliente/servidor é por TCP/IP, algo como uma "linha telefônica".
Ao tentar conectar com o servidor, há um limite de tempo para conseguir essa conexão - algo como o telefone chamando e esperando alguém atender.
Nesse meio tempo, se tentar mexer na janela, pode acontecer o erro que mencionou, porque o programa está travado aguardando "a ligação completar".

Há várias opções de usar Harbour com MySQL, uma delas é o ADO, que faz parte do Windows.
Cada opção tem um jeito diferente de ser usada, o ponto em comum é que todas usam uma conexão com o banco de dados.

Acho que não existe melhor ou pior opção, cada um decide pela que se sente mais confortável em usar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
paulovirt
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 29 Jan 2007 10:00
Contato:

Retornar a Conexão do banco de Dados

Mensagem por paulovirt »

Então amigo José...

ele fica assim estático logo que é aberto. Não demora nada e já pára de responder. Se tiver algum exemplo pra me passar, algum modo que utilize e funcione, poderia me mostrar?

Já utilizo o "My" em PHP e ASP, mas no xharbour está dando esse erro. :%
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Já utilizo o "My" em PHP e ASP
Então talvez prefira usar igual usa no ASP, direto com ADO.
Vai ter que testar no xHarbour, porque uso Harbour.

Código: Selecionar todos

oConn := CreateObject( "ADODB.Connection" )
oConn:ConnectionString := "xxxxxx"
// configura conexão
oConn:Open()
oRs := oConn:Execute( "SELECT * FROM banco" )
DO WHILE .NOT. oRs:Eof()
   oRs:MoveNext()
ENDDO
oRs:Close()
oConn:Close()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
paulovirt
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 29 Jan 2007 10:00
Contato:

Retornar a Conexão do banco de Dados

Mensagem por paulovirt »

Ele me retorna:

Error ADODB.Connection/0 S_OK: OPEN Arguments: ()

Error at ...: TOLEAUTO:OPEN(0) in module: Win32ole.prg
Callled from : MAIN(6) in module: MYSQL.PRG

O que será que está faltando??
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Só posso dizer da parte que conheço, que já deve saber:

- Ter o ODBC de MySQL instalado - atenção conforme versão ODBC 32 bits/64 bits em S.O. 64 bits
- Ter o servidor MySQL instalado
- Ter liberado no firewall pra acesso
- Definir a conexão de acordo com as configuração do driver/localização do banco/senhas/etc.

O que uso é isto, mas no HARBOUR (win_OleCreateObject)

Código: Selecionar todos

cnConnection:= win_OleCreateObject( "ADODB.Connection" )
cnConnection:ConnectionString := "Driver={MySQL ODBC " + iif( nVersion == 3, "3.51", "5.3 ANSI" ) + " Driver};Server=" + cServer + ";" + "Port=" + Ltrim( Str( nPort ) ) + ;
";Stmt=;Database=" + cDatabase + ";User ID=" + cUser + ";Password=" + cPassword 
   cnConnection:CursorLocation    := AD_USE_CLIENT
   cnConnection:CommandTimeOut    := 200 // seconds
   cnConnection:ConnectionTimeOut := 200 // seconds
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Retornar a Conexão do banco de Dados

Mensagem por Vlademiro »

Vc já tentou conectar usando um cliente (Tipo HeidiSQL) ? Talvez o BD não esteja habilitado para responder a conexões remotas ou pode ser o firewall bloqueando.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Retornar a Conexão do banco de Dados

Mensagem por JoséQuintas »

Bem lembrado.

Precisa liberar acesso ao usuário e/ou root pra acesso não só ao banco de dados, mas de qualquer IP externo.
No MySQL antigo não tinha isso.
E em MySQL na internet idem, dependendo do provedor.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder