Tempo aproximado para leitura: 00:02:37 min
Ocorrência
Atualização via Console de Atualização apresenta erro nas etapas de alteração de dicionário Preparação e Correção de Dicionário apresenta e no log apresenta a mensagem Cannot find the object "dbo.tabela" because it does not exist or you do not have permissions
Ambiente
Framework - Framework (Linha Datasul) - SQL Server – Todas as versões
Causa
Aplicando diretamente no SQL Server funciona o comando do .sql do pacote do Console de Atualização. Nesta situação em especifico utiliza a opção Trusted Connection indicando problemas de permissão do usuário do Sistema Operacional que está executando Client do Progress.
Solução
Para a falta de permissão de execução do arquivo .sql do Console de Atualização no SQL Server, analisar os seguintes passos:
Conexão banco:
-db \\servidor\Totvs\datasul\dts-12\database\shhcm -RO -ld shhcm -db HCM -ld HCM -N tcp -dt MSS -Dsrv PRGRS_CONN,Driver={SQL&^Server&^Native&^Client&^11.0};Server=servidor;Database=HCM;Trusted_Connection=yes;
No arquivo de log do Console de Atualização, arquivo conversao.txt, buscar por Comando para load, tem a linha de comando do utilitário sqlcmd que o Console de Atualização está montando para usar.
Comando para load -> "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd" -S Servidor -d HCM -E -I -i D:\console12\acerto-12.1.2407.8-12.1.2407.9\dfprep\dthrpyc-sql.sql -o D:\console12\\logs\log-Ambiente-Empresa-acerto-12.1.2407.8-12.1.2407.9_20250306-63066\delta-Multi-prep-dthrpyc-sql.sql.txt -m11
O parâmetro -E que significa que é Trusted Connection.
Utilizando o Trusted Connection, o Console de Atualização tentará conectar com o usuário logado no Sistema Operacional, para a etapa de alteração de dicionário. Para identificar o usuário do Sistema Operacional, no gerenciador de tarefas mostra qual é o usuário que aparece com o executável do Console de Atualização, é esse usuário que terá que ter permissão no SQL Server.
0 Comentários