"Item Not Found" em TDriverRegister.GetDriver

Nessa categoria, tire suas dúvidas de como implementar o ORMBr em seus projetos.
Avatar do usuário
Eduardo Girotto
Mensagens: 11

"Item Not Found" em TDriverRegister.GetDriver

Mensagempor Eduardo Girotto » Seg Nov 21, 2016 10:27 am

Olá Pessoal, tudo bem?
Eu estava testando o ORM em uma aplicação de uso interno de nossa empresa, e ao tentar criar um Container para um TFDMemTable, obtive a seguinte inconsistência:

---------------------------
Debugger Exception Notification
---------------------------
Project CSDBC.exe raised exception class EListError with message 'Item not found'.
---------------------------
Break Continue Help
---------------------------


Isso ocorre ao tentar pegar o Driver do Banco, em TDriverRegister.GetDriver(ADriverName).
Sendo que meu IDBConnection está conectado corretamente.
Segue o trecho que me retorna o Erro:(Obs: Ao criar meu Container, obtenho o erro)

Código: Selecionar todos

 
  Connection := TFactoryFireDAC.Create(fdqSQLite, dnSQLite);
  oConexao := TContainerFDMemTable<TConexao>.Create(Connection, fdmConexao);
Desenvolvedor Junior
The Worlds is a Filthy Place

Avatar do usuário
Eduardo Girotto
Mensagens: 11

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Eduardo Girotto » Seg Nov 21, 2016 10:47 am

Outro detalhe...
Quando utilizado TClientDataSet, a inconsistência não ocorre.
Desenvolvedor Junior
The Worlds is a Filthy Place

Avatar do usuário
Isaque Pinheiro
Fundador
Mensagens: 36

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Isaque Pinheiro » Seg Nov 21, 2016 12:11 pm

Olá, está com seus fontes atualizados pelo do repositório? Se sim, abra o demo da pasta Demo\Data\FireDAC, compile e veja se esta funcionando, sim compilar e executar, olhe se não está faltando alguma unit no uses do seu projeto.
--------------------------------
Isaque Pinheiro
Projeto ORM Brasil

Avatar do usuário
Eduardo Girotto
Mensagens: 11

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Eduardo Girotto » Seg Nov 21, 2016 1:40 pm

Na Demo com Dataset, ocorre o mesmo erro.
Já na Demo sem Dataset, tudo funciona corretamente.
Desenvolvedor Junior
The Worlds is a Filthy Place

Avatar do usuário
Isaque Pinheiro
Fundador
Mensagens: 36

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Isaque Pinheiro » Seg Nov 21, 2016 1:55 pm

Qual a versão do seu Delphi, pois aqui para mim no Delphi Berlin, tudo funciona normal sem erro.

Se não estou enganado, passei por um erro desse, mas corrigi e subi as correções para o repositório.

Crie um demo simples, que mostre o erro e me manda para eu testar aqui.
--------------------------------
Isaque Pinheiro
Projeto ORM Brasil

Avatar do usuário
Eduardo Girotto
Mensagens: 11

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Eduardo Girotto » Seg Nov 21, 2016 2:25 pm

Estamos usando o XE7, vou testar no Berlin aqui, e já lhe retorno.
Desenvolvedor Junior
The Worlds is a Filthy Place

Avatar do usuário
Isaque Pinheiro
Fundador
Mensagens: 36

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Isaque Pinheiro » Seg Nov 21, 2016 2:37 pm

Outro detalhe que poderia ocasionar esse erro é:
Se vc está usando o driver para acesso ao banco SQLite, deve adicionar no uses do seu projeto a unit "ormbr.dml.generator.sqlite.pas" para que a mesma dispare o método no escopo initialization

Código: Selecionar todos

initialization
  TDriverRegister.RegisterDriver(dnSQLite, TDMLGeneratorSQLite.Create);


Qualquer coisa adicione essa unit ao seu projeto e debug essa linha para vê se está passando por ela, para registrar o driver.
--------------------------------
Isaque Pinheiro
Projeto ORM Brasil

Avatar do usuário
Eduardo Girotto
Mensagens: 11

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Eduardo Girotto » Seg Nov 21, 2016 2:44 pm

Era isso!
Faltava essa Uses. :)
Muito Obrigado Isaque.
Desenvolvedor Junior
The Worlds is a Filthy Place

Avatar do usuário
Isaque Pinheiro
Fundador
Mensagens: 36

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Isaque Pinheiro » Seg Nov 21, 2016 2:48 pm

Que isso, obrigado vc por acreditar no projeto, precisando só chamar.

Estou fazendo um tratamento, para essa situação, avisando assim o motivo do erro, para que auxilie melhor a quem possa passar pela situação.
--------------------------------
Isaque Pinheiro
Projeto ORM Brasil

Avatar do usuário
Isaque Pinheiro
Fundador
Mensagens: 36

Re: "Item Not Found" em TDriverRegister.GetDriver

Mensagempor Isaque Pinheiro » Seg Nov 21, 2016 3:05 pm

Solução para a situação, disponibilizada no repositório, agora o ORMBr irá alertar o desenvolvedor com a seguinte tela de erro.
Anexos
registerdriver.png
registerdriver.png (5.31 KiB) Exibido 943 vezes
--------------------------------
Isaque Pinheiro
Projeto ORM Brasil


Voltar para “ORMBr - Como Usar”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante