Вопрос

Как мне начать?

Это было полезно?

Решение

Я нашел самый простой способ добиться этого с помощью Clojure.Вот пример кода:


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

(def devdb {: classname "oracle.jdbc.driver.oracledriver": subprotocol "Oracle": sub -sub -sepname "thin: username/password@localhost: 1509: devdb": create true})

(DEFN EXEC-ORESTORED-PROC [CALLBACK DB Input-PARAM] (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 типы/Integer) (.registeroutparameter 3 oracle.jdbc.driver.oracletypes/cursor) (.execute)) (обратный вызов (.stmt getInt 2) (.stmt getObject 3)))))

(exec-ora-proc 123 ;; vint param value devdb (fn [err-code res-cursor] (println (str "ret_code:"Err-Code)) ;;Отпечатки возвращаемых строк рефсорра (let [Resultset (ResultSet-seq Res-Cursor)] (DOSEQ [REC RESSUTET] (Println Rec))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Другие советы

Вам понадобится интерфейс к базе данных Oracle SQL.Как отметил Боб, у Allegro CL есть такой интерфейс.

GNU CLISP, очевидно, также имеет интерфейс к базе данных.

Самый простой способ выполнять задачи Oracle из вашей программы Common Lisp — использовать CLSQL.Существует множество других пакетов для работы с базами данных из Common Lisp.Посмотри на Страница базы данных Cliki

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top