Page tree
Skip to end of metadata
Go to start of metadata

Cria uma nova conexão com um banco de dados SGBD através do DBAccess.

TCLink( [ cConn ], [ cServerAddr ], [ nPort ] )

Nome

Tipo

Descrição

Obrigatório

Referência

cConn

caractere

Indica a string de conexão do DBAccess, composta por um identificador do tipo da conexão mais o nome do "alias/environment" da conexão. (Padrão = DBDatabase e DBAlias configurado no appserver.ini)



cServerAddr

caractere

Indica o nome ou endereço IP do servidor onde está o DBAccess onde a conexão deve ser realizada. (Padrão = DBServer configurado no appserver.ini)



nPort

numérico

Indica o número da porta TCP que o DBAccess está configurado aguardando por novas conexões. (Padrão = DBPort configurado no appserver.ini).



Nome

Tipo

Descrição

nHwnd

numérico

Retorna um identificador numérico igual ou maior que zero para a conexão em caso de sucesso. Em caso de falha, será retornado um número negativo, indicando uma ocorrência de falha na conexão.

Através da função TCLink é possível abrir uma nova conexão em um banco de dados (SGBD) através do DBAccess. Apenas após realizar uma conexão é possível utilizar a RDD "TOPCONN".

A montagem da string de conexão (1º parâmetro) deve conter o Banco que será conectado, seguido do caractere "/" (barra) e do nome da conexão configurada no DBAccess. Os bancos suportados podem ser:

  • MSSQL - Para bancos de dados Microsoft SQL Server.
  • ORACLE - Para bancos de dados Oracle.
  • INFORMIX - Para bancos de dados Informix.
  • DB2 - Para bancos de dados DB2 (DB2 UDB e DB2 400 com TOP4 para AS400/iSeries).
  • POSTGRES - Para bancos de dados PostgreSQL.
  • ODBC - Para estabelecer uma conexão ODBC genérica (*).

(*) Uma conexão ODBC genérica pode ser utilizada em fontes para integrações e customizações, mas não pode ser utilizada como base de dados principal da aplicação Microsiga Protheus/ERP.

O nome da conexão configurada no DBAccess, para a maioria dos bancos, é o nome dado à conexão ODBC configurada no equipamento, com exceção para conexões com banco de dados Oracle, onde o nome das conexões é definido no arquivo TNSNAMES.ORA, configurado junto do engine OCI Client do Oracle, usado pelo DBAccess para estabelecer conexão com o SGBD.

O handler da conexão retornado pela função TCLink() é utilizado para ser possível realizar mais de uma conexão no mesmo processo entre bancos diferentes, trocar entre as conexões ativas em tempo de execução de código e ainda fechar posteriormente as conexões estabelecidas. Quando a função TCLink() é executada e estabelece uma nova conexão com sucesso, esta conexão torna-se a conexão ativa imediatamente. A conexão existente continua aberta e todas as tabelas e queries abertas na conexão anteriormente ativas permanecem amarradas à conexão na qual elas foram abertas. Ao tornar uma nova conexão ativa, ela será efetivamente utilizada a partir do momento em que se tornou ativa nas operações de abertura de queries e abertura de tabelas e execução de statements.

Atenção

Os valores padrão dos parâmetros cConn, cServerAddr e nPort só serão utilizados caso não seja passado parâmetro algum, ou seja, uma chamada de TCLink vazia (TCLink()). Caso contrário, o valor padrão de cConn e cServerAddr será uma string vazia ("") e de nPort será 0 (zero).

USER FUNCTION TEST()
  Local cDBOra  := "POSTGRES/dsn" // alterar o alias/dsn para o banco/conexão que está utilizando
  Local cSrvOra  := "localhost" // alterar para o ip do DbAccess
  
  nHwnd := TCLink(cDBOra, cSrvOra, 7890)
  
  if nHwnd >= 0
    conout("Conectado")
  endif
  
  TCUnlink()
RETURN
  • No labels