Protheus :: TOP (DBAccess) :: Macetes e Brincadeiras...
Seguindo o que ja foi mencionado pelo Mestrao Lee (Dr. Naldo FrankStein), vamos brincar um pouco mais com o TOP (DBAccess) e até mesmo nao consumir licença de uso.. (op´s... sem licenças??? rs)
TOP - ODBC Genérico
TOP - ODBC Genérico
Com uma conexão genérica, é possível acessar qualquer banco de dados
moderno que dê suporte para ODBC. É possível realizar consultas através do
comando TCGENQRY e atualizar dados, através de TCSQLEXEC.
A única restrição é que não é possível “abrir” a tabela dentro do
Protheus utilizando DBUSEAREA porque para isso a tabela teria de estar registrada
dentro da TOP_FIELD. Como consequência, não é possível utilizar uma conexão
genérica como base principal do Protheus.
Para isso:
· Criar todo aquele lance de ODBC.. blablabla...
·
Criar um alias de
conexão usando qualquer tipo de banco
·
No INI do TOP (DBAccess):
o
Mudar a seção do banco
para [ODBC]. EX: [DB2] --> [ODBC]
o
Mudar o nome
da seção do alias criado.
·
[DB2/ALIAS_CRIADO]
--> [ODBC/ALIAS_CRIADO]
·
Mudar as seguintes
opções no INI
[General]
Port=7890
|
Porta ao qual o TOP abrira a escuta das conexões
|
[Service]
|
Seção a ser criada para definir o serviço do TOP
|
Name=TotvsDBAccess
|
Nome único do serviço (sem espaços)
|
Displayname=TotvsDBAccess 4.2 Padrao
|
Nome vísivel no gerenciador de serviços do
Windows
|
No ADVPL:
TCLINK( "ODBC/NOME_DO_ALIAS", cServidor, nPorta[CASO A PORTA SEJA
DIFERENTE DE 7890] )
... SEM GASTAR LICENÇA NO TOP (DBAccess)...
Ao usar o comando TCLINK uma licença de TOP (DBAccess) é consumida.
Para evitar que isso ocorra, basta concatenar a seguinte string no nome do
alias TOP : “@!!@”
No exemplo acima fica assim:
TCLINK( "@!!@ODBC/NOME_DO_ALIAS", cServidor, nPorta[CASO A PORTA SEJA DIFERENTE DE 7890] )
TCLINK( "@!!@ODBC/NOME_DO_ALIAS", cServidor, nPorta[CASO A PORTA SEJA DIFERENTE DE 7890] )
Mais tarde tem mais post!!!
Rodrigo "OVERFAIL"
Naldo,
ResponderExcluirIsso significa que utilizando a função TCLink NÃO podemos de forma alguma realizar um RecLock no banco remoto?
Putz...me ajudou a corrigir um fonte aqui, muito boa a dica.
ResponderExcluir