1
resposta

[Dúvida] Esta dando esse erro: class clojure.lang.Var cannot be cast to class datomic.Connection (clojure.lang.Var and datomic.Connection are in unnamed module of loader 'app')

Oi, tudo bem?

Estou com esse erro: class clojure.lang.Var cannot be cast to class datomic.Connection (clojure.lang.Var and datomic.Connection are in unnamed module of loader 'app')

e vi que as pessoas não conseguiram identificar o problema nesse https://cursos.alura.com.br/forum/topico-erro-ao-executar-d-transact-conn-computador-134906 link.

versao do clojure: "1.11.3"

Coloquei o projeto aqui Drive -> https://drive.google.com/file/d/1e0BRLvmi1jtQ-uow2kJitBpXWtSV39Dp/view?usp=sharing

1 resposta

Oii, Natasha! Tudo bem?

O erro pode ocorrer ao tentar usar uma variável de conexão do Datomic que não foi corretamente inicializada. Isso pode estar relacionado à forma como a conexão está sendo estabelecida ou utilizada no seu código.

Como sugestão, é adicionar algumas impressões (println) para verificar o que está sendo retornado em cada etapa, especialmente ao criar e conectar ao banco de dados, para garantir que a conexão está sendo estabelecida corretamente. Outra sugestão é garantir que a variável de conexão (conn) está realmente recebendo o retorno de d/connect. No código que você compartilhou, a conexão é estabelecida com (def conn (db/abre-conexao)). E veja se a função abre-conexao está retornando corretamente a conexão.

Espero que as sugestões sejam um bom ponto de partida, conte sempre conosco para te auxiliar.

Bons estudos!