Nesse vídeo demonstraremos a utilização das funções TCLink e TCUnlink, que servem para realizar a conexão com outra base de dados configurada no DbAccess.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe476 Realiza uma conexão com outra base de dados, configurada no DbAccess @type Function @author Atilio @since 03/04/2023 @see https://tdn.totvs.com/display/tec/TCLink e https://tdn.totvs.com/display/tec/TCUnlink @obs TCLink Parâmetros + cConn , Caractere , Indica o nome da conexão usada no DbAccess + cServerAddr , Caractere , Indica o IP do servidor do banco de dados + nPort , Numérico , Indica o número da porta de conexão com o DbAccess Retorno + nHwnd , Numérico , Retorna um número de handle que será o identificador da conexão TCUnlink Parâmetros + nHandle , Numérico , Indica o número do handle que será desconectado + lVerbose , Lógico , Se .T. irá mensagens de warning no console.log Retorno + lRet , Lógico , Retorna .T. se a conexão foi encerrada com sucesso ou .F. se não **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe476() Local aArea := FWGetArea() Local cBcoDados:= "MSSQL/TESTE" //Conexão no DbAccess com a outra base de Dados Local cServer := "127.0.0.1" //Servidor que está configurado o DbAccess Local nPorta := 7890 //Porta da conexão do DbAccess Local nHandle := 0 //Ponteiro que armazenará a conexão Local cQuery := "" //Conecta com Banco nHandle := TcLink(cBcoDados, cServer, nPorta) //Se houve algum erro na conexão If nHandle < 0 MsgInfo("Não foi possível conectar! Erro: " + cValToChar(nHandle), "Atenção") //Senão, insere um registro em uma tabela (você pode fazer outras operações como SELECT, UPDATE, etc) Else cQuery += " INSERT INTO TABELA_XYZ " + CRLF cQuery += " (NOME, URL_SITE, PROFISSAO) " + CRLF cQuery += " VALUES ('Teste automático', 'terminaldeinformacao.com', 'observação teste " + Time() + "') " + CRLF //Se houve falha, mostra uma mensagem If TCSqlExec(cQuery) < 0 FWAlertInfo("Falha: " + TCSQLError(), "Teste TCLink e TCUnlink") Else FWAlertSuccess("Registro incluido com sucesso", "Teste TCLink e TCUnlink") EndIf Endif //Desconecta TCUnlink(nHandle) FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.