2016-06-07 3 views
3

내가 갖는이 내가 전화 한 TRANSACT : Datomic 오류 메시지

datomic.impl.Exceptions$IllegalArgumentExceptionInfo: :db.error/not-a-data-function Not a data function: 71 data: {:db/error :db.error/not-a-data-function} java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: :db.error/not-a-data-function Not a data function: 71

어떤 오류 메시지가 말해하려고? 내 데이터에는 '71'이 없으니, 아 .. 음 .. 그래. 이것은 클로저 스택 트레이스를 새로운 레벨로 가져옵니다.

+0

데이터 쿼리는 무엇입니까? –

+0

통화 내용을 거래에 제공 할 수 있습니까? – Marshall

답변

4

Datomic은 데이터베이스 기능을 지원합니다. "foo는/바"당신이 thusly 히 트랜잭션에 부를 것이다 : 그럼 당신이라는 데이터베이스 기능을 설치 가정 해 봅시다

[[:foo/bar arg1 arg2 ...]]

무엇이 오류가 말하는 것은 당신이 데이터베이스 함수를 호출하는 생각이다, 그러나 그 기능은 존재하지 않습니다. 이 경우 함수 이름이 71이라고 생각합니다.

거래하는 데이터를 살펴보고 올바른 형식인지 확인하십시오. 예를 들어 [{:my/key 42}] 대신 {:my/key 42}으로지도를 전달할 때이 오류가 발생했습니다. 당신이 거래하는 것이 모두 해시 맵이라하더라도, transact의 입력은 항상 일련의 데이터이어야합니다.

+0

예. 그것은 이런 것입니다. 잘못된 데이터를 트랜잭션으로 전송하는 무언가를하고있었습니다. – Kevin