import.css=/download/attachments/6062824/tecnologia.css

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

Sintaxe

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

Parâmetros

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/DBAlias configurado na seção do ambiente corrente)

 

 

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 configurado na seção do ambiente corrente)

 

 

nPort

numérico

Indica o número da porta TCP que o DBAccess está configurado aguardando por novas conexões.

(Padrão = 7890).

 

 

Retorno

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.

Observações

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:

(*) 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.

Exemplos

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

Veja também