كيف يمكنني تشغيل إجراء Oracle plsql من Lisp؟
-
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-proc [param db callback] (sql/with-connection db (مع فتح [. ؟)} ")] (doto stmt (.setint 1 param param) (.rgisterOutParameter 2 أنواع/integer) (.rgisterOutParameter 3 oracle.jdbc.driver.oracletypes/cursor) (.execute)) (Callback (.ستمت جينت 2) (.stmt getObject 3)))))
(exec-ora-proc 123 ؛؛ إدخال قيمة param devdb (fn [err-code rescuror] (println (str "ret_code:"err-code)) ؛؛صفوف refcursor المطبوعة (دع [resultset (resultset-seq coursor)] (doseq [rec resultset] (println rec)))))))))))))
نصائح أخرى
ستحتاج إلى واجهة لقاعدة بيانات Oracle SQL.كما أشار بوب، فإن Allegro CL لديه مثل هذه الواجهة.
الطريقة الأكثر مباشرة للقيام بأشياء Oracle من برنامج Common Lisp الخاص بك هي استخدام كلسكل.هناك الكثير من الحزم الأخرى للقيام بالأشياء باستخدام قواعد البيانات من Common Lisp.القي نظرة على صفحة قاعدة بيانات Cliki