4

どうすれば始められますか?

4

3 に答える 3

5

Clojure を使用してこれを実現する最も簡単な方法を見つけました。コード例は次のとおりです。


(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)))))

于 2009-11-06T04:37:41.407 に答える
1

OracleSQLデータベースへのインターフェースが必要です。ボブが指摘したように、AllegroCLにはそのようなインターフェースがあります。

GNU CLISPには、データベースへのインターフェイスも付属しているようです。

于 2008-09-15T20:35:16.380 に答える
1

Common LispプログラムからOracleを実行する最も簡単な方法は、CLSQLを使用することです。CommonLispのデータベースを使って何かをするためのパッケージは他にもたくさんあります。Clikiのデータベースページをご覧ください

于 2008-09-16T07:26:28.950 に答える