Oracle.ManagedDataAccess.Core package


#1

Ola senhores, boa tarde!
[Como sou usuário novo, não pude realizar o upload da imagem, então usei um uploader]
Estou com um probleminha interessante aqui comigo, e qualquer ajuda, acredito que será de grande ajuda.
Sabemos que o drive disponibilizado pela Oracle para conexões ao banco de dados Oracle e dotnet core 2, foi lançado como release, semana passada. Com base nessas informações, estou com seguinte problema de conexão. Mas antes disto, devo contar um pouco do que estou fazendo.

Basicamente, minha missão é levantar dados de 3 sistemas diferentes e centraliza-lo em somente uma aplicação. Todos esses sistemas externos, possuem banco de dados oracle. antes do lançamento da versão release, eu istalei a versão beta do pacote informado e criei uma camada para que eu pudesse usar em meu repositório e disponibilizar dados de tipos dinâmicos, como listas e modelos de entidades. Tal qual, esses dados são passados para minha camada de aplicação e depois para camada de apresentação, usando aí, uma estrutura básica baseada em DDD.
Ok, acredito que a informação passada aqui seja relevante para o seguinte problema que estou enfrentando:


image|435x286](upload://mWdQ27RlJPThqd7DixOxxqb9Wk1.png

Baseada nessa imagem, temos um método no qual consigo abstrair meus dados dados do banco, contudo, quando passa a seguinte query “SELECT * FROM LFPLAN ORDER BY PLANID DESC” me deparo com o erro:


image|690x454](upload://4vpCXFD2L9qGnXVMKirUvNpLKE9.png

ok, está me informando que “PLANID” é um atributo inválido, ou seja, essa coluna não existe na específica tabela. Mas na verdade, a coluna “PLANID”, existe na tabela. Veja o debug:


image|690x237](upload://y45nmveH4GUxblodpjpaLXg0xsu.png

Verifica-se na imagem acima, que a query está sendo passado de acordo.

Agora se executar a query “SELECT * FROM LFPLAN” sem ordenação, os dados são retornados sem problema.

Vou deixar ainda aqui como parâmetro, que todas as outras tabelas do banco de dados do mesmo sistema e de outros sistemas, funciona normalmente. Somente nesta tabela, o erro é apresentado e desconhece o campo, não só este, mas todos os outros campos existente na tabela.

Eu realmente não imagino o que seja. Será possível bloquear uma tabela para leitura externa. Mesmo assim porquê retorna todos os dados quando não ordenado.

Desde de meus agradecimentos por qualquer ajuda! :slight_smile:


#2

Cara, esse é um tipo de erro tão bobo, que acho improvável que provider ou oracle estejam errados.
Acredito na casualidade da possibilidade de:

  1. O objeto LFPLAN não prefixado com o nome do user/schema aponte para um objeto com o nome errado mesmo. Errado ou em uma versão errada. Isso é comum quando executamos um script sem owner nas tabelas e depois colocamos. A primeira execução gera lixo que possivelmente você não se atentou.

  2. Outra possibilidade é o case sensitive.

Bom, quando tiver novidades responda.


.NET Foundation Website | Blog | Projects | Code of Conduct