Substituição do TopConnect pelo DBAccess

Escrito por Petri em 11 de outubro de 2011, 15:16h

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:

    • Alternativa 1:

    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.

     

    • Alternativa 2:

    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.

    Categorias: Ambiente | Conectividade

    Tags: , ,

    Comentários (4) -

    em 24 de outubro de 2011, 16:37h

    Petri, boa tarde!

    Qual a funcionalidade desta linha?:
    Editar o arquivo "dbaccess.ini" no diretório do ByYouDBAccess, procurar pela tag [General] e incluir o parâmetro MemoAsBlob=1

    Abraços,

    Murilo Guimarães

    Murilo

    em 25 de outubro de 2011, 10:23h

    Olá Murilo,

    O parâmetro informado habilita que os campos Memo seja armazenado no banco de dados em formato Blob (e não Text).  Esta alteração se faz necessária para que todo o conteúdo seja armazenado ou invés de ser truncado.

    Grato pelo contato,
    Petri

    petri

    em 3 de abril de 2012, 15:17h

    Srs,

    Estamos iniciando o processo de implantanação no ambiente de teste do conversor de entrada x TOTVS Colaboração.

    Tivemos que re-instalar o TSS na versão 2.06 com a função "recebimento de documentos" habilitada".

    Desta forma, foram criadas novas tabelas e campos do tipo TEXT. Estes novos campos também deverão ser alterados para LONGBLOB ??

    Obrigado.

    Andre Gouvea Toledo

    em 5 de abril de 2012, 08:30h

    Andre, é isso mesmo. O ideal é mudar sempre de text para longblog.
    Não esquecer de incluir o parâmetro MemoAsBlob=1 no .ini do Totvsdbaccess.

    Gian

    gian

    Comentar

    biuquote
    • Comentário
    • Pré-visualização
    Loading

    Acesso LogMeIn

    Informe o código PIN: