O DBAccess conecta
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
estabelece uma conexão com os
bancos Bancos de dados Dados homologados através de um driver ODBC, para as plataformas Windows e Linux
. Para banco de dados , sendo que para o ORACLE, normalmente é
usada utilizada uma conexão através de uma biblioteca
Client client chamada de
" OCI
" (Oracle Client Interface).
DE qualquer modoIndependente do modo de conexão, para todos os casos, criamos é necessário criar uma fonte de dados que precisa ser identificada por um nome distinto.
Este nome da fonte de dados, ou DSN (Data Source Name), preferencialmente, deve iniciar com uma letra , e pode ter letras e numeros – evite /ou números.
...
símbolos e caracteres especiais no nome da fonte de dados. |
Ao configuramos o DBAccess para configurar o
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
para se conectar com um determinado
banco Banco de
dadosDados, informamos
no DBAccess a ele qual o nome do DSN
, ou nome da fonte de dados a ser
usadautilizado, que deve ser exatamente o mesmo nome usado na ODBC.
Um DBAccess Informações |
---|
Um Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
| pode usar mais de uma fonte de dados |
...
e conectar-se com vários bancos de dados diferentes. |
É possível configurar, por exemplo, uma fonte de dados apontando para um Database database de Homologação, homologação e outra fonte de dados para um Database database de Testestestes. A aplicação AdvPL acessa o DBAccess
A aplicação
acessa o Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
através do IP e
porta configurados em cada TOTVS Application ServerPorta configurados em cada Inclusão de trecho |
---|
| application server |
---|
| application server |
---|
nopanel | true |
---|
|
, e informa o
banco Banco de
dados Dados e o nome da fonte de dados a ser
usadautilizada.
Internamente, o DBaccess usa
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
utiliza o nome da fonte de dados informado
, para controlar aspectos da emulação ISAM de acesso às tabelas, como o modo de abertura (exclusivo e/ou compartilhado, acesso completo ou somente leitura), bem como o mecanismo de bloqueios de arquivo e registro (bloqueio de registro linha a linha, ou do arquivo inteiro).
Estes controles fazem parte da compatibilidade exigida pelo AdvPL
, e são feitos pelo
DBAccess Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
em listas mantidas em memória.
...
utilizamos o Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
| em uma configuração distribuída, o serviço configurado como |
...
primário (master) fica responsável por esses controles. |
Sabendo dessa característica, sempre devemos criar sempre apenas UMA fonte de dados nomeada (DSN/ODBC ) para UMA determinada instância de Banco de Dados. E, quando utilizamos o DBAccess
Quando utilizamos o
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
em configuração distribuída, em
maus mais de um equipamento, todas as fontes de dados criadas para um determinado
database devem ter o mesmo nome em todas as máquinas, para que cada
DBAccess Secundário Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
secundário aponte para a fonte de dados de mesmo nome, que aponta para o mesmo Database.
E, sabendo disso, também devemos observar que, não devemos Aviso |
---|
Observe que não deve-se colocar dois serviços distintos de |
...
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
| (stand-alone por exemplo), apontando para o mesmo |
...
...
...
Caso essas premissas não sejam respeitadas, a integridade dos dados de tabelas acessadas para alteração de dados em modo concorrente é sériamente seriamente prejudicada, pois dois programas AdvPL
podem conseguir ao mesmo tempo um LOCK de registro para alteração, ou mesmo obter sucesso ao tentar abrir uma determinada tabela em modo EXCLUSIVO, caso esses programas estejam sendo executados em
Inclusão de trecho |
---|
| dbaccess |
---|
| dbaccess |
---|
nopanel | true |
---|
|
stand-alone distintos que apontem para o mesmo banco de dados, ou no mesmo
dbaccess, usando duas fontes de dados de nomes distintos, que na ODBC apontam para a mesma instância de Banco de Dados.
Informações |
---|
Caso os programas executados de forma concorrente usem transacionamento (BEGIN TRANSACTION), pode ocorrer deadlock no |
...
...