如何从 Lisp 运行 Oracle plsql 过程?
-
09-06-2019 - |
题
我该如何开始?
解决方案
我找到了使用 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存储proc [input-param db callback](sql/with-connection db(with-open [stmt(.preparecall(sql/connection)) ?stmt getInt 2) (.stmt getObject 3)))))
(exec-ora存储proc 123 ;;输入param value devdb(fn [err-Code res-cursor](println(str“ ret_code:str”“ err-code));;打印返回的弹出器行(让[Resultset(Resultset-seq res-cursor)]](Doseq [rec Resultset](println rec)))))))))))))))))))
其他提示
您需要一个 Oracle SQL 数据库的接口。正如 Bob 指出的,Allegro CL 具有这样的接口。
从 Common Lisp 程序中执行 Oracle 操作的最直接方法是使用 CLSQL. 。还有许多其他包可以使用 Common Lisp 中的数据库进行操作。看一下 Cliki 的数据库页面
不隶属于 StackOverflow