Fala pessoal!!
Nesse post eu gostaria de compartilhar com vocês um problema (e a solução) que tive no trabalho quando estava tentando abrir o arquivo .BIM de um projeto de cubo tabular do Azure Analysis Services no Visual Studio 2019 e me deparei com a mensagem de erro “An error occurred while opening the model on the workspace database. Reason: An unexpected error occurred (file ‘tmcachemanager.cpp’, line 1790, function ‘TMCacheManager::CreateEmptyCollectionsForAllParents’)”.
Descrição do problema
Esse é um projeto que eu já estava trabalhando neles há várias semanas, e do nada, tentei abrir o arquivo BIM e me deparei com a mensagem de erro abaixo:
Transcrição da mensagem:
============================
Call Stack:
============================
at Microsoft.AnalysisServices.VSHost.VSHostManager.PrepareSandbox(Boolean newProject, Boolean& isRefreshNeeded, Boolean& isImpersonationChanged, Boolean& saveRequired, List`1& truncatedTables, Boolean isRealTimeMode, Int32 clientCompatibilityLevel)
at Microsoft.AnalysisServices.VSHost.Integration.EditorFactory.CreateEditorInstance(UInt32 grfCreateDoc, String pszMkDocument, String pszPhysicalView, IVsHierarchy pvHier, UInt32 itemid, IntPtr punkDocDataExisting, IntPtr& ppunkDocView, IntPtr& ppunkDocData, String& pbstrEditorCaption, Guid& pguidCmdUI, Int32& pgrfCDW)
============================
Reiniciei o Visual Studio, depois reiniciei a máquina e nada resolvia.
Decidi pesquisar alguma solução no Google antes de tentar nos grupos de Whatsapp (Você já procurou no Google?) e só vi postagens e links apontando para aplicar hotfixes e cumulative updates no Analysis Services.
Como eu estava usando o Visual Studio 2019, com todas as atualizações disponíveis já instaladas, o Azure Analysis Services, que sempre tem a última versão, e meu cubo estava na Compatibility Level “SQL Server 2019 / Azure Analysis Services (1500)”, que também é a mais atual, descartei todos esses artigos e posts, pois nenhum se aplicava ao meu caso.
Pronto. Agora não tinha mais nenhum link de referência para me ajudar..
Solução do problema
Para tentar resolver esse problema, comecei a fazer alguns testes por conta própria e um teste que funcionou, foi alterar a opção de “Integrated Workspace Mode” para False:
Essa configuração faz com que o Visual Studio não utilize a instância interna local do Analysis Services para o desenvolvimento e sim, a instância original informada na configuração do Cubo. Isso é muito usado para acelerar a etapa de desenvolvimento, e quando você processa o cubo, os dados são copiados para essa instância local como forma de cache, para permitir que você possa visualizar os dados e testar corretamente quando estiver desenvolvendo dentro do Visual Studio.
Após realizar essa alteração, consegui abrir o cubo, embora tenha recebido algumas mensagens de erro relacionadas a membros e roles, mas isso é esperado devido à mudança para não usar mais o Integrated Workspace. Ou seja, desativar o Integrated Workspace permitiu que eu conseguisse abrir o arquivo BIM, mas não era bem a solução que eu esperava, pois não queria mudar a forma que eu estava desenvolvendo o cubo no Visual Studio.
Bom, isso me deu uma luz que o problema talvez não seja corrupção do arquivo BIM e nem configuração errada que eu tenha feito. Voltei o parâmetro “Integrated Workspace Mode” para True e tentei abrir o cubo novamente: Recebi a mesma mensagem de erro 🙁
Após muitos e muitos testes, tentativas e erros, e mais buscas na internet sem sucesso, acabou que finalmente descobri a solução para o meu problema: Havia algo errado no cache dos dados ou metadados que são carregados do cubo para a instância interna local do Analysis Services, de modo que isso serve para permitir a pré-visualização dentro do Visual Studio.
Para finalmente resolver esse problema que me deu uma boa dor de cabeça durante vários minutos, fechei a solução no Visual Studio, abri o diretório onde estava armazenado o meu projeto e o arquivo BIM, removi os sub-diretórios “obj” e “bin” da pasta do meu projeto e abri a solução novamente.
E voilá! Meu projeto voltou a abrir normalmente no Visual Studio.
A solução foi bem simples, até meio boba, mas é algo que eu perdi bastante tempo tentando resolver, não encontrei nenhuma documentação na internet que realmente tivesse me ajudado e resolvi compartilhar esse problema e a solução com vocês.
And that's it, folks!
Um grande abraço e até mais!!
Thanks a lot for this solution! I also spent so much time to solve this, but did not find the problem. Now it works again 🙂
Tks,good explanation !
It worked for me too. Thank you so much! ?