에서의 SQLException 예외를 이해 할 수 없습니다. 쿼리는 결과 집합을 반환하고 처리 할 수 있습니다. 자, 만약 내가 (. 디버그 로그 행) 코멘트 :는 Clojure의
java.lang.RuntimeException: java.sql.SQLException: Closed Resultset: next
어떤 생각?
감사
에서의 SQLException 예외를 이해 할 수 없습니다. 쿼리는 결과 집합을 반환하고 처리 할 수 있습니다. 자, 만약 내가 (. 디버그 로그 행) 코멘트 :는 Clojure의
java.lang.RuntimeException: java.sql.SQLException: Closed Resultset: next
어떤 생각?
감사
"행"(그것은 단지 서열 또는 어쨌든 nil
될 수 있다면 또는 단지 rows
에)
(if (seq rows)
rows)
게으른 :
서열 그렇지 않은 것은, 단순화 할 수있다. 그리고 그것은 "(.debug 로그 행)"이 "행"을 평가 한 것 같습니다. 그냥 명시 적으로하십시오 :
(defn get-dg [date]
(let [query (str "......") ]
(jdbc/with-connection db
(jdbc/with-query-results rows [query date date date date]
(comment .debug log rows)
(if (empty? rows) nil (doall rows))))))
나는 100 % 확실하지 않다,하지만 난 문제가 결과 서열은 게으른 것을이라고 생각하고 시간에 당신은 with-connect
이외의 것 (DB를 연결이 닫혀을 처리).
디버그 문은 연결이 아직 열려있는 동안 구현을 강제합니다.
약간의 문체 코멘트 :
당신은 문자열로 문자열을 변환하는 캐릭터 라인을 사용할 필요가 없습니다.
답해 주셔서 감사합니다. 나는 게으른 평가가 이유 일 수 있다고 생각했다. 분명히 (.debug) 강제 시퀀스 평가. – kostas