Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
Portuguese |
Pagetitle |
---|
...
|
...
|
Cria
...
uma
...
nova
...
conexão
...
com
...
um
...
banco
...
de
...
dados
...
SGBD
...
através
...
do
...
DBAccess.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
TCLink( <cConexao> cConn >, <cServerAddr> cServerAddr >, [ nPort ] )--> nHndConn
|
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 |
...
. |
...
X |
|
cServerAddr |
...
caractere | Indica o nome ou endereço IP do servidor onde está o |
...
DBAccess onde a conexão deve ser realizada. |
...
X |
|
nPort |
...
numérico | Indica o número da porta TCP que o |
...
DBAccess está configurado aguardando por novas conexões. (Padrão = 7890). |
|
|
...
¹ Nos builds superiores ao 7.00.121227P foi realizado uma melhoria onde nenhum parâmetro é obrigatório, e caso não seja passado nenhum parametro, irá ser lido as chaves dbdatabase, dbalias, dbserver e dbport do Appserver.ini automaticamente.
...
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.
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
USER FUNCTION TEST()
Caso a conexão não seja estabelecida com sucesso, o handler será um número negativo, indicando uma situação de erro. Para mais detalhes sobre os códigos de erros retornados, consulte a documentação "Lista dos códigos de erros do TOTVSDBAccess". User Function MyLink()Local cDBOra := "ORACLE POSTGRES/P10_TESTE" dsn" // alterar o alias/dsn para o banco/conexão que está utilizando Local cSrvOra := "172.16.0.1" Local nHndOra nHndOra localhost" // alterar para o ip do DbAccess nHwnd :=TcLink TCLink(cDbOra cDBOra, cSrvOra, 7890) If nHndOra < 0 if nHwnd >= 0UserException conout("Erro ("+srt(nHndOra,4)+ Conectado")ao conectarendifcom "+cDbOra+"em "+cSrvOra) Endif conout("Oracle conectado - Handler"+str(nHndOra,4)) TcUnlink(nHndOra) conout("Oracle desconectado.") Return Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server TCUnlink()
RETURN
|