Situação
Ao realizar tentativa de sincronização com o EasyMob Metadados, e o retorno não for realizado com sucesso, ao verificar os logs de erro é encontrada a seguinte mensagem:
The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.
System.Exception: The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource. ---> System.Exception: The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource. ---> System.Data.MetadataException: The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.
at System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver)
at System.Data.Metadata.Edm.MetadataCache.SplitPaths(String paths)
at System.Data.Common.Utils.Memoizer`2.<>c__DisplayClass4_0.<Evaluate>b__0()
at System.Data.Common.Utils.Memoizer`2.Result.GetValue()
at System.Data.Common.Utils.Memoizer`2.Evaluate(TArg arg)
at System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections)
at System.Data.EntityClient.EntityConnection.InitializeMetadata(DbConnection newConnection, DbConnection originalConnection, Boolean closeOriginalConnectionOnFailure)
at System.Data.EntityClient.EntityConnection.Open()
at IntegracaoRepBDLib.Repositorios.Conexao.MontarConexaoFakeEntityFramework(DbConnection pConexao, String psDataSource, String psDataBase, String psUserID, String psPassword, String psProviderName, String psDirMaps, Boolean pbSSPI)
--- End of inner exception stack trace ---
at IntegracaoRepBDLib.Repositorios.Conexao.MontarConexaoFakeEntityFramework(DbConnection pConexao, String psDataSource, String psDataBase, String psUserID, String psPassword, String psProviderName, String psDirMaps, Boolean pbSSPI)
at IntegracaoRepBDLib.Repositorios.Conexao.ConectarBD(String psDataSource, String psDataBase, String psUserID, String psPassword, String psProviderName, String psDirMaps, Boolean pbSSPI)
--- End of inner exception stack trace ---
at IntegracaoRepBDLib.Repositorios.Conexao.ConectarBD(String psDataSource, String psDataBase, String psUserID, String psPassword, String psProviderName, String psDirMaps, Boolean pbSSPI)
at IntegracaoRepBDLib.IntegracaoRepBDExecucao.CriarConexao(Conexao& conexao)
Não foi possível conectar no banco de dados.
DataSource: XXX.XXX.XXX.XXX
DataBase: NOME DO BANCO DE DADOS
UserId: NOME USUARIO
Password: ******
ProviderName: System.Data.SqlClient
DirMaps:
Solução
1. Acesse o diretório de instalação do sistema, normalmente //servidor/.../meta/rhsis e verifique:
1.1. Se possui o diretório MapIntegracaoRepBD;
1.2. Se o diretório MapIntegracaoRepBD possui os diretórios Ora e SQL;
1.3. Se os diretórios ORA e SQL possuem os seguintes arquivos: IntegracaoRepBD.Model.csdl, IntegracaoRepBD.Model.msl, IntegracaoRepBD.Model.ssdl.
1.4. Caso não possua algum dos itens acima, faça a reinstalação da última versão do sistema e teste a sincronização novamente.
1.5. Se todos itens estiverem presentes, abra um chamado.