O DBAccess é um aplicativo da Totvs responsável pelo acesso ao Banco de Dados, que utiliza conexão ODBC e suporta drivers para diferentes Bancos de Dados.
Para os ambientes TSS suportados por banco MySQL, é mandatória a instalação desta tecnologia em substituição do TopConnect. Para os demais bancos homologados (http://tdn.totvs.com.br/kbm#107588) apesar da substituição ser opcional, é recomendável que seja realizada.
Abaixo é listado os procedimentos para instalação do DBAccess:
- Efetuar o download do arquivo “DBAccess TOTVSTec” seguindo os passos abaixo:
- Acessar o Portal de Clientes –> Download
- Em Linha, selecionar: "Protheus" (DBAccess TOTVSTec é de uso comum a todos produtos da Totvs)
- Em Tipo, selecionar: "Patch" e clicar no botão “Pesquisar”
- Selecionar em categoria, a opção "DBAccess TOTVSTec"
- Instalar o DBAcess (windows 32 bits) ou descompactar o mesmo (windows 64 bits)
Após concluir sua instalação é necessário iniciar o serviço. Para isso, acesse o “Painel de Controle à Ferramentas Administrativas à Serviços”. Em seguida, selecione o serviço “Totvs DBAccess”, clique sobre o nome do mesmo e depois na opção “Iniciar”.
ALERTA: Caso o DBAccess não seja instalado como serviço (Totvs DBAccess 4.2 Server) após o processo, efetuar a instalação manual utilizando o parâmetro – install.
Ex.: c:\TotvsDBAccess\dbaccess.exe -install.
- No diretório onde o DBAccess foi instalado, execute o aplicativo “DBMonitor.exe” (serviço Totvs DBAccess 4.2 Server deve estar iniciado)
- Na tela de conexão clique em ok. Selecione a Guia Configurações e em seguida a Guia correspondente ao seu banco de dados (o qual foi configurado a ODBC). Crie uma Nova Conexão e entre com os dados do Alias criado na conexão ODBC
Após efetuar a configuração, na Guia Assistente, efetue validação de conexão :
-
- Selecione Validação de Conexão
- Selecione o Banco de Dados a ser utilizado
- Informe o nome da Fonte de Dados ODBC
- Efetue o teste
- Caso ocorra erro, revisar os dados de conexão fornecidos
- Editar o arquivo "totvsdbaccess.ini" no diretório do DBAccess, procurar pela tag [General] e incluir o parâmetro MemoAsBlob=1
Erro na atualização de campos para LongBlob no MySQL
Em alguns casos o erro abaixo pode ser gerado no log do ByYouDBAccess (dbconsole.log):
Error: 1060 (S0021) (RC=-1) - [MySQL][ODBC 3.51 Driver][mysqld-4.1.22-community-nt]Duplicate column name 'TOKEN' ( From tMySQLConnection::AlterStructure ) Thread ID [116] User [Totvs Services SPED Gateway] IO [211] Tables [11] MaxTables [12] Comment [] Status [] SP [ ] Traced [No] InTran [No] DBEnv SQL/TSS] DBThread [ ] Started [06/10/2011 10:13:55] LastIO [] IP [127.0.0.1] RCV [2438] SND [6834] TCBuild [20110117] ALTER TABLE SPED001L ADD (TOKEN longblob)
Esse erro decorre porque em versões anteriores era criada a coluna com o tipo de dado TEXT; nas versões mais recentes esse tipo de dado passou a ser LONGBLOB.
Correção do tipo do campo para clientes com MySQL inferior a versão 5
Para a correção deste erro, efetuar o procedimento abaixo:
1. Copiar o comando gerado com erro:
ALTER TABLE SPED001L ADD (TOKEN longblob)
2. Alterar o comando acima conforme abaixo (alterado comando de ADD por MODIFY).
ALTER TABLE sped001l MODIFY (TOKEN longblob);
Em seguida deve ser reiniciado o serviço do TotvsDBAccess. Caso ocorra o mesmo erro para outras tabelas, repetir o processo até a não mais existência de erros no arquivo de log.
Outras possibilidades:
Conectar no banco e executar o comando:
Show tables;
Anotar o nome das tabelas e executar o comando desc para cada uma:
Ex.: desc sped050;
Se houver algum campo como text mudar para blob.
Exportar um .sql do banco contendo somente as definições das tabelas:
mysqldump -u root –psenhadoroot -e --databases tss-ofi -r C:\backup\tss-ofi.sql –d (a opção-d não exporta dados das tabelas)
Editar o arquivo .sql e localizar os campos como text.
Alterar estes para longblob no banco
Correção do tipo do campo para clientes com MySQL 5
Para clientes que possuem banco de dados MySQL na versão 5 pode ser executado o comando abaixo para gerar todos os comandos de “ALTER TABLE”.
SELECT concat('ALTER TABLE ' , table_name , ' modify ' , column_name , ' longblob;')
FROM information_schema.columns
WHERE data_type = 'text'
AND table_name LIKE 'sped%'
INTO OUTFILE 'c:/temp/alteracampos.sql';
Após a geração do arquivo acima (no exemplo c:/temp/alteracampos.sql) executar o seu conteúdo no banco do TSS.
Observação: após a instalação e o pleno funcionamento do TotvsDBAccess, o aplicativo TopConnect pode ser desinstalado.
1 - Comando para remover o serviço do Windows:
C:\TOPConnect 4.0\topconnect.exe –remove
2 – Excluir o registro: SC delete <nome-do-serviço>
Havendo dúvidas ou necessidade de acesso remoto para configuração do ambiente, entre em contato com a consultoria de Banco de Dados, pelo telefone 4003-0015, opções "02" Software, "03" Consultoria Técnica, "04" Datasul, "08" Tecnologia e "03" Banco de Dados.