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 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). |
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:
- 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).
Exemplos
user function exemplo() local cDB := "POSTGRES/dsn" // alterar o alias/dsn para o banco/conexão que está utilizando local cSrv := "localhost" // alterar para o ip do DbAccess nHwnd := TCLink(cDB, cSrv, 7890) if nHwnd >= 0 conout("Conectado") endif TCUNLink() return