Pergunta

Como eu começo?

Foi útil?

Solução

Encontrei a maneira mais fácil de conseguir isso usando Clojure.Aqui está o código de exemplo:


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

(Defvdb {: className "oracle.jdbc.driver.oracledriver": subprotocolo "oracle": subname "thin: username/senha@localhost: 1509: devdb": create true})

(Defn Exec-ORA-armazenado-Proc [Input-Param DB de retorno de chamada] (sql/com conexão db (com-abertura [stmt (.Preparecall (sql/conexão) "{Call Some_schema.wer_package.test_proc (?,?,?,? ?)} ")] (doto stmt (.SetInt 1 entrada-param) (.RegisteroutParameter 2 tipos/número inteiro) (.RegisteroutParameter 3 oracle.jdbc.driver.oracletipes/cursor) (.execute) (retorno de chamada (.stmt getInt 2) (.stmt getObject 3)))))

(Exec-ORA-armazenado-Proc 123;"Err-code)) ;;Impressões devolvidas Refcursor linhas (Let [ResultSet (ResultSet-Seq Res-Cursor)] (Doseq [Rec ResultSet] (Println Rec))))))))))))))

Outras dicas

Você precisará de uma interface para o banco de dados Oracle SQL.Como Bob apontou, o Allegro CL possui essa interface.

Aparentemente, o GNU CLISP também vem com uma interface para o banco de dados.

A maneira mais direta de fazer coisas Oracle a partir do seu programa Common Lisp é usar CLSQL.Existem muitos outros pacotes para fazer coisas com bancos de dados do Common Lisp.Dê uma olhada em Página do banco de dados do Cliki

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top