Frage

Wie fange ich an?

War es hilfreich?

Lösung

Ich habe die einfachste Art und Weise fanden diese Clojure durch Verwendung zu erreichen. Hier ist der Beispielcode:


(ns example
  (:require [clojure.contrib.sql :as sql])
  (:import  [java.sql Types]))

(def devdb {:classname "oracle.jdbc.driver.OracleDriver" :subprotocol "oracle" :subname "thin:username/password@localhost:1509:devdb" :create true})

(defn exec-ora-stored-proc [input-param db callback] (sql/with-connection db (with-open [stmt (.prepareCall (sql/connection) "{call some_schema.some_package.test_proc(?, ?, ?)}")] (doto stmt (.setInt 1 input-param) (.registerOutParameter 2 Types/INTEGER) (.registerOutParameter 3 oracle.jdbc.driver.OracleTypes/CURSOR) (.execute)) (callback (. stmt getInt 2) (. stmt getObject 3)))))

(exec-ora-stored-proc 123 ;;input param value devdb (fn [err-code res-cursor] (println (str "ret_code: " err-code)) ;; prints returned refcursor rows (let [resultset (resultset-seq res-cursor)] (doseq [rec resultset] (println rec)))))

Andere Tipps

Sie werden über eine Schnittstelle zu der Oracle-SQL-Datenbank benötigen. Wie Bob wies darauf hin, Allegro CL hat eine solche Schnittstelle.

GNU CLISP kommt offenbar mit einer Schnittstelle zu der Datenbank als auch.

Die einfachste Art und Weise Oracle Sachen von Ihrem Common Lisp-Programm zu tun ist, zu verwenden, CLSQL . Es gibt viele andere Pakete für mit Datenbanken von Common Lisp Sachen zu tun. Hier finden Sie aktuelle Cliki Datenbank

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top