Rogerio Figueira Posted April 20, 2016 Report Share Posted April 20, 2016 Valdir, quando começo a aprender algo novo, vou de pouco em pouco, funcionando o "Olá Mundo!" eu passo adiante. Então minha proposta, pegue o código que passei antes, que repito aqui, crie um programinha só com ele, sem nada mais, só o básico. Tem que funcionar. Funcionando, então vai colocando mais funcionalidades, se der erro, vai saber onde foi . Estou fazendo assim no meu estudo para implementação do sql. Passo a passo. Então segue o código: #include "tdolphin.ch" #define CRLF Chr( 13 ) + Chr( 10 ) PROCEDURE Main() LOCAL oServer := NIL LOCAL cText := "" local cCmdSql , oQry IF ( oServer := ConnectTo() ) == NIL msgAlert("Erro de conexão") return nil ENDIF IF ! oServer:lError cText += oServer:GetServerInfo() + CRLF cText += oServer:GetClientInfo() msginfo(cText,"Server Info") ENDIF oServer:End() RETURN //---------------------------------------------------------- FUNCTION ConnectTo( ) LOCAL hIni LOCAL oServer LOCAL cServer, cUser, cPassword, nPort, cDBName,nFlags LOCAL oErr LOCAL cText := "" oServer := NIL cServer := "stt.com.br" cUser := "stf_zero" cPassword := "dxxxxxxj0" nPort := "3306" cDBName := "stf_cpw4" nFlags := "0" TRY CONNECT oServer HOST cServer ; USER cUser ; PASSWORD cPassword ; PORT nPort ; FLAGS nFlags; DATABASE cDBName CATCH oErr MsgInfo( oErr:Description ) RETURN NIL END IF ! oServer:lError cText += "Connection OK" + CRLF cText += "Host: " + oServer:cHost +CRLF cText += "Database: " +oServer:cDBName + CRLF cText += oServer:GetServerInfo() + CRLF cText += oServer:GetClientInfo() msginfo( cText ,"Dados da conexão ") ENDIF RETURN oServer //====================================== []´s evertonlb 1 Quote Link to comment Share on other sites More sharing options...
Valdir Posted April 20, 2016 Author Report Share Posted April 20, 2016 Amigos... Jorge, infelizmente não funfou. Mesmo assim Obrigado pelo Dica. Rogério... já havia feito um exemplo simples seguindo a sua orientação. Refiz agora para confirmar se não estava fazendo nada errado, porém infelizmente também não deu certo. Acredito que esteja faltando alguma lib nas minhas diretivas de compilação. Poderiam me fazer o grande favor de verificar isso, pois estou achando que é este o problema. Quando compilo qualquer exemplo, não aparece nenhuma mensagem de erro e o exemplo aborta.. Obrigado. Quote Link to comment Share on other sites More sharing options...
Geraldo (gbsilva) Posted April 20, 2016 Report Share Posted April 20, 2016 Olá Valdir como vai! Hoje que estou vendo o seu post. Sabe que cheguei a montar um tempo atrás um exemplo completo com a TDolphin para você, mas não tive como enviá-lo, nem me lembro mais como fiz, mas tenho ele aqui. Estou de passagem aqui no momento, mas e quanto ao mysql, pode estar faltando algum detalhe, a senha esta correta, onde esta o seu mysql numa máquina local acredito, pois no seu .ini esta localhost. Falo isso porque ao instalar tem uma solicitação de flegar sobre conexão via ip e que deve ser flegada ou não acessa, mas local funcionaria. Tente usar em vez de localhost assim: [mysql] // Endereço de IP host = 127.0.0.1 user = root port = 3306 Você criou no mysql o banco e tabelas? são perguntas bobas, mas pode ser por ai rsss....apanhei muito também. Estou a disposição, se estiver interessado darei uma olhada no exemplo que te falei e te passo para tentar compilar ai. Abaixo um exemplo do que utilizo atualmente, parte de um Main() e uma classe que criei para configurações: Function Main() // Menu Principal local nEntry := 0 local oBar,oIco,oHand local oSfa,cRede:="" Private oConn,oServer PUBLIC oWnd,oGbs //-> Instancia Classe TGbSilva() oGbs := TGbsilva() //-> Instancia objeto e iguala atributos antes de verificar versão do sistema oSfa := TGbConfig():new() oSfa:versao := "1.1.0" //-> Versão oSfa:ini_file := "gb_connect.ini" //-> Nome do arquivo .ini oSfa:sistema := "Sistema de Atendimento - Facilidades (SISAF)" oSfa:ini_set := "mysql" ******************************************************************************************** * Definição do Banco de Dados e senha de acesso ******************************************************************************************** oSfa:ini_dbname := "Sagre" //-> Database mysql oSfa:password := "123" //-> Senha ******************************************************************************************** //-> Chama arquivo .ini oSfa:SetIni() //-> Verifica se o Sistema já esta sendo executado IF !oSfa:SisExec("Sisaf.exe") BringWindowToTop( oWnd ) return(nil) ENDIF //-> Configurações gerais do Sistema oSfa:Set() //-> Chama método para conectar ao banco de dados IF ( oServer := oSfa:Connect() ) == NIL BringWindowToTop( oWnd ) return(nil) ENDIF //-> Chama módulo de acesso ao sistema (acesso.prg) IF !Login(@nEntry) BringWindowToTop( oWnd ) return(.f.) ENDIF //-> Trata retorno do Login() IF nEntry = 1 BringWindowToTop( oWnd ) return(.f.) ENDIF .... .... .... #include "FiveWin.ch" #include "xbrowse.ch" #include "tsbutton.ch" #include "config.ch" #ifdef rdd_tdolphin #include "tdolphin.ch" //-> usando Tdolphin #else #Include "sqllib.Ch" //-> usando sqllib #endif ************************************************************************************************************************ CLASS TGbConfig FROM TGbSoftware DATA sistema,versao,lReturn,CLR_GetFocus DATA apDados,aImagens DATA ini_dbname,ini_empresa,ini_host,ini_user,ini_porta,ini_file,ini_reshor,ini_resver,ini_exe,password DATA ini_rede,ini_endclasse,ini_set,ini_endesp DATA id_imagem,nome,filec METHOD New() CONSTRUCTOR METHOD SisExec(_cSistema) METHOD SisVersao() METHOD Set() METHOD SetIni() METHOD Connect() ENDCLASS METHOD New() CLASS TGbConfig super:New() ::sistema := "Nome do Sistema" ::versao := "" ::lReturn := .f. ::apDados := {} ::aImagens := {} ::CLR_GetFocus := NRGB(255,208,047) // RGB(235,255,145) ::ini_set := "mysql" //-> nome da variável do arquivo .ini ::ini_dbname := "" ::ini_file := "" ::ini_empresa := "" ::ini_host := "127.0.0.1" ::ini_user := "root" ::ini_porta := 3306 ::ini_exe := "" ::ini_reshor := 1024 ::ini_resver := 768 ::password := "123" ::ini_rede := "" ::ini_endclasse := "" ::ini_endesp := "" ::id_imagem := space(2) ::nome := space(20) ::filec := space(20) return self METHOD SisVersao() CLASS TGbConfig local cSql,aVersao[1],lVersao:=space(10) local oQry cSql := "SELECT versao" +; " FROM cadastro.versao" +; " WHERE sistema='"+oGbs:id_sistema+"' AND status='1' LIMIT 1 ;" #ifdef rdd_tdolphin oQry := oServer:Query(cSql) lVersao := oQry:FieldGet(1) oQry:End() #else aVersao := SqlArray(cSql) lVersao := aVersao[1,1] #endif if ::versao <> alltrim(lVersao) If !MsgYesNo("Existe uma nova versão, Deseja atualizar o Sistema (S/N) ?","Atualização do Sistema",2) ::lReturn := .f. Else ::lReturn := .t. Endif return(.f.) endif return(.t.) //-> Verifica se o sistema já esta sendo executado METHOD SisExec(_cSistema) CLASS TGbConfig if (IsExeRunning(_cSistema) ) MsgStop("Sistema "+STRTOKEN(_cSistema,1,".") +" já esta sendo executado","Atenção!!!") return(.f.) endIf return(.t.) METHOD Set() CLASS TGbConfig //-> Configuração Para Todo o Sistema SET 3DLOOK ON SET CENTURY ON // 4 DIGITOS PARA O ANO SET CONFIRM OFF // (mudei, eu) CURSOR NÃO PODE DESLOCAR-SE AUTOMATICAMENTE SET CURSOR ON //-SetCursor( if(Upper("ON") == "ON", 1, 0) ) SET DATE BRITISH // FORMATO DD/MM/AAAA SET DATE FORMAT "dd/mm/yyyy" // IGUAL AO ANTERIOR, APENAS REFOR€O. SET DELETED ON // ON IMPEDIR VER REGISTROS MARCADOS PARA APAGAR SET DECIMALS TO 2 SET EPOCH TO (Year(Date())-50)// PARA IMPEDIR QUE O ANO SEJA 00 SET ESCAPE ON // TECLA ESC LIGADA, POSSO ESCAPAR. SET EXCLUSIVE OFF // REDE NETUSE LIGADA //NOTA: As Funcoes OrdKeyCount() e OrdKeyNo() Nao Trabalham se OPTIMIZE //Esta em OFF, ou se uma variavel de filtro e um elemento de matriz. SET MULTIPLE ON // PARA QUE SE POSSA ACIONAR QUANTAS JANELAS QUISER SET OPTIMIZE ON // OPTIMIZAR OS FILTROS(DBSETFILTER) SET SOFTSEEK OFF // OBRIGATÓRIO "OFF" PARA USO COM MYSQL SET UNIQUE OFF // PERMITIR OU NÇO CHAVES COM DUPLICIDADE SET WRAP ON //-Set( 35, "ON" ) // PARA MENUS SETCANCEL( .F. ) // INUTILIZA ALT + C PARA ABORTAR PROGRAMA #ifdef rdd_sqllib SET CUSTOM INDEXES ON // ATIVA O USO DE ÍNDICES CUSTOMIZADOS (COM FUNÇÃO) #endif REQUEST DBFCDX // CHAMADA AO BANCO DBFCDX OU _DBFCDX REQUEST HB_CODEPAGE_PT850 REQUEST HB_LANG_PT HB_SETCODEPAGE("PT850") HB_LANGSELECT("PT") RDDSETDEFAULT( "DBFCDX" ) // CARREGA RDD DEFINIDO NO CASO, *.CDX DBSETDRIVER( "DBFCDX" ) // CARREGA RDD DEFINIDO NO CASO, *.CDX //SetGetColorFocus( RGB(235,255,145) ) SetGetColorFocus( ::CLR_GetFocus ) return(.t.) METHOD Connect(n) CLASS TGbConfig local c local hIni local oServer,nFlags local oErr c = "mysql" if n != NIL c = "mysql" + AllTrim( Str( n ) ) endif #ifdef rdd_sqllib SQL CONNECT ON ::ini_host ; PORT ::ini_porta ; DATABASE ::ini_dbname ; USER ::ini_user ; PASSWORD ::password ; OPTIONS SQL_NO_WARNING ; LIB "MySQL" IF SQL_ERRORNO() > 0 Alert("Não foi possível conectar ao banco de dados !"+CRLF+; "Informe esta mensagem ao suporte: "+CRLF+; SQL_ErrorMsg()) return(.f.) ENDIF RddSetDefault("MySQL") return(.t.) #else oServer := NIL nFlags := 0 TRY CONNECT oServer HOST ::ini_host ; USER ::ini_user ; PASSWORD ::password ; PORT ::ini_porta ; FLAGS nFlags; DATABASE ::ini_dbname CATCH oErr ? hb_dumpvar( oErr ) RETURN NIL END RETURN oServer #endif return(.f.) METHOD SetIni() CLASS TGbConfig local c,oWnd,hIni c = ::ini_set //-> variável do arquivo .ini #ifdef rdd_sqllib //-> somente usado método com sqllib INI hIni FILE ".\"+::ini_file GET ::ini_host SECTION c ENTRY "host" OF hIni GET ::ini_user SECTION c ENTRY "user" OF hIni GET ::ini_porta SECTION c ENTRY "port" OF hIni ENDINI #else //-> chama o arquivo .ini hIni := HB_ReadIni( ::ini_file ) //-> atribui valores do ini ::ini_host := hIni[ c ]["host"] ::ini_user := hIni[ c ]["user"] ::ini_porta := val(hIni[ c ]["port"]) #endif return nil ************************************ FINAL DA TGBCONFIG **************************************************************** evertonlb 1 Quote Link to comment Share on other sites More sharing options...
Valdir Posted April 25, 2016 Author Report Share Posted April 25, 2016 Olá pessoal... Bom dia. Depois de 4 dias de cama por causa de uma forte gripe, estou retomando o meu calvário. Amigo Geraldo: - Obrigado , porém também não conectou através da TDolphin IP 127.0.0.1 Demais amigos: - Tenho que fazer alguma configuração específica durante a instalação do Maria Db ? Imagino que seja esse o problema, pois compilando o exemplo simples que o amigo Rogério me enviou, não consigo realizar a conexão. Obrigado. Quote Link to comment Share on other sites More sharing options...
Rogerio Figueira Posted April 25, 2016 Report Share Posted April 25, 2016 Olá Valdir me passe seu e-mail, que vou lhe enviar os dados de acesso ao meu servidor para você testar a conexão . []´s Quote Link to comment Share on other sites More sharing options...
Valdir Posted April 25, 2016 Author Report Share Posted April 25, 2016 Olá amigo Rogério... Favor enviar apara valdir@fivesolution.com.br Obrigado. Quote Link to comment Share on other sites More sharing options...
kleyber Posted April 25, 2016 Report Share Posted April 25, 2016 Valdir, Experimente trocar o 127.0.0.1 por localhost e me diga. Quote Link to comment Share on other sites More sharing options...
Marca Posted April 25, 2016 Report Share Posted April 25, 2016 Valdir. Vc já tentou acessar o banco instalado com algum gerenciador pra ver se o banco esta de pé ? Vai ver o banco não esta configurado e por isso vc não consegue acessar. Quote Link to comment Share on other sites More sharing options...
Valdir Posted April 25, 2016 Author Report Share Posted April 25, 2016 Amigos... Agradeço de coração a todos que se dispuseram a ajudar a solucionar o meu problema sem pedir nada em troca, isso sempre foi a máxima desta maravilhosa família, por tanto, recebam o meu "Muito Obrigado". Agora gostaria de oferecer um "Muito Obrigado Especial" aos amigos Rogério Ferreira e Gilmer pela grande ajuda e paciência que me concederam. - Vocês são os caras.... Brigadão. O problema estava relacionado com a falta da psapi.lib na Compilação e a minha Libmysql.dll estava incorreta. Foi só corrigir esses dois pequenos problemas com a ajuda dos amigos que funcionou perfeitamente. Mais uma vez. Obrigado à todos. Abração. Rogerio Figueira 1 Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted April 25, 2016 Report Share Posted April 25, 2016 Amigos... Agradeço de coração a todos que se dispuseram a ajudar a solucionar o meu problema sem pedir nada em troca, isso sempre foi a máxima desta maravilhosa família, por tanto, recebam o meu "Muito Obrigado". Agora gostaria de oferecer um "Muito Obrigado Especial" aos amigos Rogério Ferreira e Gilmer pela grande ajuda e paciência que me concederam. - Vocês são os caras.... Brigadão. O problema estava relacionado com a falta da psapi.lib na Compilação e a minha Libmysql.dll estava incorreta. Foi só corrigir esses dois pequenos problemas com a ajuda dos amigos que funcionou perfeitamente. Mais uma vez. Obrigado à todos. Abração. Vc merece uns cascudos. ahuahauhauua, sabe o que é isso? É coisa de turrão, ahuahauhua, são aqueles momentos nossos que o problema está ali, escancarado na nossa cara e a gente passa batido milhões de vezes sem detectar. Fico feliz que conseguiu e com certeza deve evoluir de forma astronômica. Mas veja que em respostas acima na minha lista tinha a lib que vc precisava. Troca esse peixe da foto pelo peixe campeão do paulistão 2016 (Santos sempre Santos) ahuahuahuaua. LIBS [W:\BCC582\Lib\PSDK\psapi.lib] [W:\SERV\FUNCOES\LIBS\SQLRDD\Lib\libmysql.lib] []s, Valdir 1 Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 25, 2016 Report Share Posted April 25, 2016 agora ´s só desfrutar de usar um banco de dados .... Voce vai adorar amigo Valdir 1 Quote Link to comment Share on other sites More sharing options...
evertonlb Posted April 26, 2016 Report Share Posted April 26, 2016 Poxa cara.. fico feliz que esteja funcionando... Att. Everton Valdir 1 Quote Link to comment Share on other sites More sharing options...
Valdir Posted April 26, 2016 Author Report Share Posted April 26, 2016 Mais uma vez.. Obrigado a todos. Agora é estudar e se tiver dúvidas, conto com os amigos. abração. Quote Link to comment Share on other sites More sharing options...
Clodoaldosm Posted April 28, 2021 Report Share Posted April 28, 2021 Boa noite amigos, desculpe por reativar este tópico, mas estou atualizando meus fontes do xharbour 100 bcc55 para xharbour 123 bcc730 e queria saber se vcs tem as libs MySQL para esta versão (MySQL.lib e libmysql.lib)? Desde já agradeço a ajuda. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.