Re: mysql and clojure

2017-10-20 Thread Damien Mattei
thank for your help, i had doubt about namespace but as i focused on sql i 
did  not check it, it is just a week i use clojure, but i'm used many 
Scheme and LisP and Java and there is a lot of issue on stackoverflow or 
stackechange about clojure and mysql that are out of date and are confusing

damien

On Thursday, October 19, 2017 at 6:44:46 PM UTC+2, Sean Corfield wrote:
>
> I don’t know what documentation you’re working from but it looks outdated, 
> based on your code.
>
>  
>
> Have a read of 
> http://clojure-doc.org/articles/ecosystem/java_jdbc/home.html -- that 
> will walk you through the basics of using java.jdbc
>
>  
>
> If you’re on the Clojurians Slack (signup at http://clojurians.net/ and 
> read/post messages from https://clojurians.slack.com/ or use a desktop 
> client), there’s a #sql channel for all things JDBC-related.
>
>  
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>  
> --
> *From:* clo...@googlegroups.com   > on behalf of Damien Mattei  >
> *Sent:* Thursday, October 19, 2017 3:37:08 AM
> *To:* Clojure
> *Subject:* mysql and clojure 
>  
> hello again,
>
> i tried dozen of web example about mysql and clojure but it doen't work, 
> here is some of my code:
>
> for dependencies:
>
> (defproject jclojure "0.1.0-SNAPSHOT"
>   :description "clojure JVM source code for Sidonie web interface 
> administration"
>   :url "https://sidonie.oca.eu;
>   :license {:name "Eclipse Public License"
>   :url "http://www.eclipse.org/legal/epl-v10.html"}
>
>   :dependencies [
>   [org.clojure/clojure "1.8.0"]  
>   [mysql/mysql-connector-java "5.1.38"]
>   [org.clojure/java.jdbc "0.7.3"]
>   ]
>
>   :main ^:skip-aot jclojure.core
>   :target-path "target/%s"
>   :profiles {:uberjar {:aot :all}})
>
>
> the code (some of...):
>
> (ns jclojure.core
> (:gen-class))
>
> (defn -main
>   "I don't do a whole lot ... yet."
>   [& args]
>   
>   ;(:require [clojure.java [jdbc :as sql]])
>
>   ;(require '[clojure.java.jdbc :as jdbc])
>
>   (ns dbns
>   (:require [clojure.java.jdbc :as jdbc]
>   [mysql/mysql-connector-java "5.1.38"]))
>   
>   ;(use 'clojure.java.jdbc)
>   
>   (println "Hello, World!")
>
>   (let [
> db-host "localhost"
> db-port 3306
> db-name "sidonie"
> ]
> 
> (def db {
>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>  :subprotocol "mysql"
>  :subname (str "//" db-host ":" db-port "/" db-name)
> ; Any additional keys are passed to the driver
> ; as driver-specific properties.
>  :user "mattei"
>  :password "sidonie2"}))
>   
> ;(jdbc/query db ["SELECT * FROM Sigles"])
>
>   (jdbc/with-connection db
> (jdbc/with-query-results rows
>  ["select * from Sigles"]
>  (println rows)))
>
>  
>   )
>
>
> and now the error:
>
> [mattei@moita jclojure]$ lein run
> Exception in thread "main" java.lang.RuntimeException: No such namespace: 
> jdbc, compiling:(jclojure/core.clj:37:3)
> at clojure.lang.Compiler.analyze(Compiler.java:6688)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3766)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
> at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
> at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.access$300(Compiler.java:38)
> at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler.eval(Compiler.java:6931)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at 

RE: mysql and clojure

2017-10-19 Thread Sean Corfield
I don’t know what documentation you’re working from but it looks outdated, 
based on your code.

Have a read of http://clojure-doc.org/articles/ecosystem/java_jdbc/home.html -- 
that will walk you through the basics of using java.jdbc

If you’re on the Clojurians Slack (signup at http://clojurians.net/ and 
read/post messages from https://clojurians.slack.com/ or use a desktop client), 
there’s a #sql channel for all things JDBC-related.

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood


From: clojure@googlegroups.com  on behalf of Damien 
Mattei 
Sent: Thursday, October 19, 2017 3:37:08 AM
To: Clojure
Subject: mysql and clojure

hello again,

i tried dozen of web example about mysql and clojure but it doen't work, here 
is some of my code:

for dependencies:

(defproject jclojure "0.1.0-SNAPSHOT"
  :description "clojure JVM source code for Sidonie web interface 
administration"
  :url "https://sidonie.oca.eu;
  :license {:name "Eclipse Public License"
  :url "http://www.eclipse.org/legal/epl-v10.html"}

  :dependencies [
  [org.clojure/clojure "1.8.0"]
  [mysql/mysql-connector-java "5.1.38"]
  [org.clojure/java.jdbc "0.7.3"]
  ]

  :main ^:skip-aot jclojure.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})


the code (some of...):

(ns jclojure.core
(:gen-class))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]

  ;(:require [clojure.java [jdbc :as sql]])

  ;(require '[clojure.java.jdbc :as jdbc])

  (ns dbns
  (:require [clojure.java.jdbc :as jdbc]
  [mysql/mysql-connector-java "5.1.38"]))

  ;(use 'clojure.java.jdbc)

  (println "Hello, World!")

  (let [
db-host "localhost"
db-port 3306
db-name "sidonie"
]

(def db {
 :classname "com.mysql.jdbc.Driver" ; must be in classpath
 :subprotocol "mysql"
 :subname (str "//" db-host ":" db-port "/" db-name)
; Any additional keys are passed to the driver
; as driver-specific properties.
 :user "mattei"
 :password "sidonie2"}))

;(jdbc/query db ["SELECT * FROM Sigles"])

  (jdbc/with-connection db
(jdbc/with-query-results rows
 ["select * from Sigles"]
 (println rows)))


  )


and now the error:

[mattei@moita jclojure]$ lein run
Exception in thread "main" java.lang.RuntimeException: No such namespace: jdbc, 
compiling:(jclojure/core.clj:37:3)
at clojure.lang.Compiler.analyze(Compiler.java:6688)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3766)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.access$300(Compiler.java:38)
at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
at clojure.lang.Compiler.eval(Compiler.java:6931)
at clojure.lang.Compiler.load(Compiler.java:7379)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.loadResourceScript(RT.java:363)
at clojure.lang.RT.load(RT.java:453)
at clojure.lang.RT.load(RT.java:419)
at clojure.core$load$fn__5677.invoke(core.clj:5893)
at clojure.core$load.invokeStatic(core.clj:5892)
at clojure.core$load.doInvoke(core.clj:5876)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invokeStatic(core.clj:5697)
at clojure.core$load_one.invoke(core.clj:5692)
at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
at clojure.core$load_lib.invokeStatic(core.clj:5736)
at clojure.core$load_lib.doInvoke(core.clj:5717)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$load_libs.invokeStatic(core.clj:5774)
at clojure.core$load_libs.doInvoke(core.clj:5758)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invokeStatic(core.clj:648)
  

Re: mysql and clojure

2017-10-19 Thread Lubomir Konstantinov
Cool. You had to remove it, cause it was a leiningen dependency, not a 
proper :require clause - I guess I didn't pay enough attention too :)

It looks like you are trying to learn by example and are skipping the 
basics. If you havent - this is very nice and gentle introduction that will 
help you lay the foundations - https://www.braveclojure.com/

On Thursday, 19 October 2017 16:10:39 UTC+3, Damien Mattei wrote:
>
> Thank Lubomir,
> it works, i'm new to Clojure and did not use the name space the right way, 
> i had to remove [mysql/mysql-connector-java "5.1.38"] also , do not know 
> why...
>
> here is the working code and result:
>
> (ns jclojure.core
> (:gen-class)
> (:require [clojure.java.jdbc :as jdbc] )
> )
>
> ;(ns jclojure.core
> ;(:gen-class)
> ;(:require [clojure.java.jdbc :as jdbc]
> ;  [mysql/mysql-connector-java "5.1.38"]))
>
>
> (defn -main
>   "I don't do a whole lot ... yet."
>   [& args]
>   
>   ;(:require [clojure.java [jdbc :as sql]])
>
>   ;(require '[clojure.java.jdbc :as jdbc])
>
>   ;(ns dbns
>;   (:require [clojure.java.jdbc :as jdbc]
>   ;[mysql/mysql-connector-java "5.1.38"]))
>   
>   ;(use 'clojure.java.jdbc)
>   
>   (println "Hello, World!")
>
>   (let [
> db-host "localhost"
> db-port 3306
> db-name "sidonie"
> ]
> 
> (def db {
>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>  :subprotocol "mysql"
>  :subname (str "//" db-host ":" db-port "/" db-name)
> ; Any additional keys are passed to the driver
> ; as driver-specific properties.
>  :user "mattei"
>  :password "sidonie2"}))
>   
> ;(jdbc/query db ["SELECT * FROM Sigles"])
>
>   (jdbc/query db
>   ["select * from Sigles"]
>   {:row-fn println}  )
>
>   ;(jdbc/with-connection db
> ;(jdbc/with-query-results rows
> ; ["select * from Sigles"]
> ; (println rows)))
>
>  
>   )
>
> [mattei@moita jclojure]$ lein run
> Hello, World!
> {:sigle ApJ, :intitulé AstroPhysical Journal}
> {:sigle ApJS, :intitulé AstroPhysical Journal - supplement}
> {:sigle A, :intitulé Astronomy and Astrophysics}
> {:sigle A, :intitulé Astronomy and Astrophysics - supplement series}
> {:sigle A.A.W., :intitulé Acta Astronomica Warszawa}
> {:sigle ABO, :intitulé Annals Bosscha Observatory}
> {:sigle ABS, :intitulé Annals Bosscha Sterrenwacht}
> {:sigle ADONU, :intitulé Annals Dearborn Observatory - Northwestern 
> University}
> {:sigle AJ, :intitulé Astronomical Journal}
> {:sigle AJS, :intitulé Astronomical Journal - supplement}
> {:sigle AN, :intitulé Astronomische Nachrichten}
> {:sigle AORB, :intitulé Annales de l'Observatoire Royal de Belgique}
> {:sigle AOS, :intitulé Annales de l'Observatoire
>
> ...
>
>
> Damien
>
>
> On Thursday, October 19, 2017 at 12:49:31 PM UTC+2, Lubomir Konstantinov 
> wrote:
>>
>> Bad case of copy pasta?
>>
>> You have am extra namespace definition:
>>
>>   (ns dbns
>>   (:require [clojure.java.jdbc :as jdbc]
>>   [mysql/mysql-connector-java "5.1.38"]))
>>
>> You need to remove it, and move the require clause up in your ns:
>>
>> (ns jclojure.core
>> (:gen-class)
>> (:require [clojure.java.jdbc :as jdbc]
>>   [mysql/mysql-connector-java "5.1.38"]))
>>
>> On Thursday, 19 October 2017 13:37:08 UTC+3, Damien Mattei wrote:
>>>
>>> hello again,
>>>
>>> i tried dozen of web example about mysql and clojure but it doen't work, 
>>> here is some of my code:
>>>
>>> for dependencies:
>>>
>>> (defproject jclojure "0.1.0-SNAPSHOT"
>>>   :description "clojure JVM source code for Sidonie web interface 
>>> administration"
>>>   :url "https://sidonie.oca.eu;
>>>   :license {:name "Eclipse Public License"
>>>   :url "http://www.eclipse.org/legal/epl-v10.html"}
>>>
>>>   :dependencies [
>>>   [org.clojure/clojure "1.8.0"]  
>>>   [mysql/mysql-connector-java "5.1.38"]
>>>   [org.clojure/java.jdbc "0.7.3"]
>>>   ]
>>>
>>>   :main ^:skip-aot jclojure.core
>>>   :target-path "target/%s"
>>>   :profiles {:uberjar {:aot :all}})
>>>
>>>
>>> the code (some of...):
>>>
>>> (ns jclojure.core
>>> (:gen-class))
>>>
>>> (defn -main
>>>   "I don't do a whole lot ... yet."
>>>   [& args]
>>>   
>>>   ;(:require [clojure.java [jdbc :as sql]])
>>>
>>>   ;(require '[clojure.java.jdbc :as jdbc])
>>>
>>>   (ns dbns
>>>   (:require [clojure.java.jdbc :as jdbc]
>>>   [mysql/mysql-connector-java "5.1.38"]))
>>>   
>>>   ;(use 'clojure.java.jdbc)
>>>   
>>>   (println "Hello, World!")
>>>
>>>   (let [
>>> db-host "localhost"
>>> db-port 3306
>>> db-name "sidonie"
>>> ]
>>> 
>>> (def db {
>>>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>>>  :subprotocol "mysql"
>>>  :subname (str "//" db-host ":" db-port "/" db-name)
>>> ; Any additional keys are passed to the driver
>>> ; as driver-specific 

Re: mysql and clojure

2017-10-19 Thread Rostislav Svoboda
Have a look at dbcon.clj and db.clj in my https://github.com/Bost/ufo
It's a rather minimal example of clojure/clojurescript + mysql


2017-10-19 15:10 GMT+02:00 Damien Mattei :
> Thank Lubomir,
> it works, i'm new to Clojure and did not use the name space the right way, i
> had to remove [mysql/mysql-connector-java "5.1.38"] also , do not know
> why...
>
> here is the working code and result:
>
> (ns jclojure.core
> (:gen-class)
> (:require [clojure.java.jdbc :as jdbc] )
> )
>
> ;(ns jclojure.core
> ;(:gen-class)
> ;(:require [clojure.java.jdbc :as jdbc]
> ;  [mysql/mysql-connector-java "5.1.38"]))
>
>
> (defn -main
>   "I don't do a whole lot ... yet."
>   [& args]
>
>   ;(:require [clojure.java [jdbc :as sql]])
>
>   ;(require '[clojure.java.jdbc :as jdbc])
>
>   ;(ns dbns
>;   (:require [clojure.java.jdbc :as jdbc]
>   ;[mysql/mysql-connector-java "5.1.38"]))
>
>   ;(use 'clojure.java.jdbc)
>
>   (println "Hello, World!")
>
>   (let [
> db-host "localhost"
> db-port 3306
> db-name "sidonie"
> ]
>
> (def db {
>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>  :subprotocol "mysql"
>  :subname (str "//" db-host ":" db-port "/" db-name)
> ; Any additional keys are passed to the driver
> ; as driver-specific properties.
>  :user "mattei"
>  :password "sidonie2"}))
>
> ;(jdbc/query db ["SELECT * FROM Sigles"])
>
>   (jdbc/query db
>   ["select * from Sigles"]
>   {:row-fn println}  )
>
>   ;(jdbc/with-connection db
> ;(jdbc/with-query-results rows
> ; ["select * from Sigles"]
> ; (println rows)))
>
>
>   )
>
> [mattei@moita jclojure]$ lein run
> Hello, World!
> {:sigle ApJ, :intitulé AstroPhysical Journal}
> {:sigle ApJS, :intitulé AstroPhysical Journal - supplement}
> {:sigle A, :intitulé Astronomy and Astrophysics}
> {:sigle A, :intitulé Astronomy and Astrophysics - supplement series}
> {:sigle A.A.W., :intitulé Acta Astronomica Warszawa}
> {:sigle ABO, :intitulé Annals Bosscha Observatory}
> {:sigle ABS, :intitulé Annals Bosscha Sterrenwacht}
> {:sigle ADONU, :intitulé Annals Dearborn Observatory - Northwestern
> University}
> {:sigle AJ, :intitulé Astronomical Journal}
> {:sigle AJS, :intitulé Astronomical Journal - supplement}
> {:sigle AN, :intitulé Astronomische Nachrichten}
> {:sigle AORB, :intitulé Annales de l'Observatoire Royal de Belgique}
> {:sigle AOS, :intitulé Annales de l'Observatoire
>
> ...
>
>
> Damien
>
>
>
> On Thursday, October 19, 2017 at 12:49:31 PM UTC+2, Lubomir Konstantinov
> wrote:
>>
>> Bad case of copy pasta?
>>
>> You have am extra namespace definition:
>>
>>   (ns dbns
>>   (:require [clojure.java.jdbc :as jdbc]
>>   [mysql/mysql-connector-java "5.1.38"]))
>>
>> You need to remove it, and move the require clause up in your ns:
>>
>> (ns jclojure.core
>> (:gen-class)
>> (:require [clojure.java.jdbc :as jdbc]
>>   [mysql/mysql-connector-java "5.1.38"]))
>>
>> On Thursday, 19 October 2017 13:37:08 UTC+3, Damien Mattei wrote:
>>>
>>> hello again,
>>>
>>> i tried dozen of web example about mysql and clojure but it doen't work,
>>> here is some of my code:
>>>
>>> for dependencies:
>>>
>>> (defproject jclojure "0.1.0-SNAPSHOT"
>>>   :description "clojure JVM source code for Sidonie web interface
>>> administration"
>>>   :url "https://sidonie.oca.eu;
>>>   :license {:name "Eclipse Public License"
>>>   :url "http://www.eclipse.org/legal/epl-v10.html"}
>>>
>>>   :dependencies [
>>>   [org.clojure/clojure "1.8.0"]
>>>   [mysql/mysql-connector-java "5.1.38"]
>>>   [org.clojure/java.jdbc "0.7.3"]
>>>   ]
>>>
>>>   :main ^:skip-aot jclojure.core
>>>   :target-path "target/%s"
>>>   :profiles {:uberjar {:aot :all}})
>>>
>>>
>>> the code (some of...):
>>>
>>> (ns jclojure.core
>>> (:gen-class))
>>>
>>> (defn -main
>>>   "I don't do a whole lot ... yet."
>>>   [& args]
>>>
>>>   ;(:require [clojure.java [jdbc :as sql]])
>>>
>>>   ;(require '[clojure.java.jdbc :as jdbc])
>>>
>>>   (ns dbns
>>>   (:require [clojure.java.jdbc :as jdbc]
>>>   [mysql/mysql-connector-java "5.1.38"]))
>>>
>>>   ;(use 'clojure.java.jdbc)
>>>
>>>   (println "Hello, World!")
>>>
>>>   (let [
>>> db-host "localhost"
>>> db-port 3306
>>> db-name "sidonie"
>>> ]
>>>
>>> (def db {
>>>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>>>  :subprotocol "mysql"
>>>  :subname (str "//" db-host ":" db-port "/" db-name)
>>> ; Any additional keys are passed to the driver
>>> ; as driver-specific properties.
>>>  :user "mattei"
>>>  :password "sidonie2"}))
>>>
>>> ;(jdbc/query db ["SELECT * FROM Sigles"])
>>>
>>>   (jdbc/with-connection db
>>> (jdbc/with-query-results rows
>>>  ["select * from 

Re: mysql and clojure

2017-10-19 Thread Damien Mattei
Thank Lubomir,
it works, i'm new to Clojure and did not use the name space the right way, 
i had to remove [mysql/mysql-connector-java "5.1.38"] also , do not know 
why...

here is the working code and result:

(ns jclojure.core
(:gen-class)
(:require [clojure.java.jdbc :as jdbc] )
)

;(ns jclojure.core
;(:gen-class)
;(:require [clojure.java.jdbc :as jdbc]
;  [mysql/mysql-connector-java "5.1.38"]))


(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  
  ;(:require [clojure.java [jdbc :as sql]])

  ;(require '[clojure.java.jdbc :as jdbc])

  ;(ns dbns
   ;   (:require [clojure.java.jdbc :as jdbc]
  ;[mysql/mysql-connector-java "5.1.38"]))
  
  ;(use 'clojure.java.jdbc)
  
  (println "Hello, World!")

  (let [
db-host "localhost"
db-port 3306
db-name "sidonie"
]

(def db {
 :classname "com.mysql.jdbc.Driver" ; must be in classpath
 :subprotocol "mysql"
 :subname (str "//" db-host ":" db-port "/" db-name)
; Any additional keys are passed to the driver
; as driver-specific properties.
 :user "mattei"
 :password "sidonie2"}))
  
;(jdbc/query db ["SELECT * FROM Sigles"])

  (jdbc/query db
  ["select * from Sigles"]
  {:row-fn println}  )

  ;(jdbc/with-connection db
;(jdbc/with-query-results rows
; ["select * from Sigles"]
; (println rows)))

 
  )

[mattei@moita jclojure]$ lein run
Hello, World!
{:sigle ApJ, :intitulé AstroPhysical Journal}
{:sigle ApJS, :intitulé AstroPhysical Journal - supplement}
{:sigle A, :intitulé Astronomy and Astrophysics}
{:sigle A, :intitulé Astronomy and Astrophysics - supplement series}
{:sigle A.A.W., :intitulé Acta Astronomica Warszawa}
{:sigle ABO, :intitulé Annals Bosscha Observatory}
{:sigle ABS, :intitulé Annals Bosscha Sterrenwacht}
{:sigle ADONU, :intitulé Annals Dearborn Observatory - Northwestern 
University}
{:sigle AJ, :intitulé Astronomical Journal}
{:sigle AJS, :intitulé Astronomical Journal - supplement}
{:sigle AN, :intitulé Astronomische Nachrichten}
{:sigle AORB, :intitulé Annales de l'Observatoire Royal de Belgique}
{:sigle AOS, :intitulé Annales de l'Observatoire

...


Damien


On Thursday, October 19, 2017 at 12:49:31 PM UTC+2, Lubomir Konstantinov 
wrote:
>
> Bad case of copy pasta?
>
> You have am extra namespace definition:
>
>   (ns dbns
>   (:require [clojure.java.jdbc :as jdbc]
>   [mysql/mysql-connector-java "5.1.38"]))
>
> You need to remove it, and move the require clause up in your ns:
>
> (ns jclojure.core
> (:gen-class)
> (:require [clojure.java.jdbc :as jdbc]
>   [mysql/mysql-connector-java "5.1.38"]))
>
> On Thursday, 19 October 2017 13:37:08 UTC+3, Damien Mattei wrote:
>>
>> hello again,
>>
>> i tried dozen of web example about mysql and clojure but it doen't work, 
>> here is some of my code:
>>
>> for dependencies:
>>
>> (defproject jclojure "0.1.0-SNAPSHOT"
>>   :description "clojure JVM source code for Sidonie web interface 
>> administration"
>>   :url "https://sidonie.oca.eu;
>>   :license {:name "Eclipse Public License"
>>   :url "http://www.eclipse.org/legal/epl-v10.html"}
>>
>>   :dependencies [
>>   [org.clojure/clojure "1.8.0"]  
>>   [mysql/mysql-connector-java "5.1.38"]
>>   [org.clojure/java.jdbc "0.7.3"]
>>   ]
>>
>>   :main ^:skip-aot jclojure.core
>>   :target-path "target/%s"
>>   :profiles {:uberjar {:aot :all}})
>>
>>
>> the code (some of...):
>>
>> (ns jclojure.core
>> (:gen-class))
>>
>> (defn -main
>>   "I don't do a whole lot ... yet."
>>   [& args]
>>   
>>   ;(:require [clojure.java [jdbc :as sql]])
>>
>>   ;(require '[clojure.java.jdbc :as jdbc])
>>
>>   (ns dbns
>>   (:require [clojure.java.jdbc :as jdbc]
>>   [mysql/mysql-connector-java "5.1.38"]))
>>   
>>   ;(use 'clojure.java.jdbc)
>>   
>>   (println "Hello, World!")
>>
>>   (let [
>> db-host "localhost"
>> db-port 3306
>> db-name "sidonie"
>> ]
>> 
>> (def db {
>>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>>  :subprotocol "mysql"
>>  :subname (str "//" db-host ":" db-port "/" db-name)
>> ; Any additional keys are passed to the driver
>> ; as driver-specific properties.
>>  :user "mattei"
>>  :password "sidonie2"}))
>>   
>> ;(jdbc/query db ["SELECT * FROM Sigles"])
>>
>>   (jdbc/with-connection db
>> (jdbc/with-query-results rows
>>  ["select * from Sigles"]
>>  (println rows)))
>>
>>  
>>   )
>>
>>
>> and now the error:
>>
>> [mattei@moita jclojure]$ lein run
>> Exception in thread "main" java.lang.RuntimeException: No such namespace: 
>> jdbc, compiling:(jclojure/core.clj:37:3)
>> at clojure.lang.Compiler.analyze(Compiler.java:6688)
>> at clojure.lang.Compiler.analyze(Compiler.java:6625)
>> at 

Re: mysql and clojure

2017-10-19 Thread Lubomir Konstantinov
Bad case of copy pasta?

You have am extra namespace definition:

  (ns dbns
  (:require [clojure.java.jdbc :as jdbc]
  [mysql/mysql-connector-java "5.1.38"]))

You need to remove it, and move the require clause up in your ns:

(ns jclojure.core
(:gen-class)
(:require [clojure.java.jdbc :as jdbc]
  [mysql/mysql-connector-java "5.1.38"]))

On Thursday, 19 October 2017 13:37:08 UTC+3, Damien Mattei wrote:
>
> hello again,
>
> i tried dozen of web example about mysql and clojure but it doen't work, 
> here is some of my code:
>
> for dependencies:
>
> (defproject jclojure "0.1.0-SNAPSHOT"
>   :description "clojure JVM source code for Sidonie web interface 
> administration"
>   :url "https://sidonie.oca.eu;
>   :license {:name "Eclipse Public License"
>   :url "http://www.eclipse.org/legal/epl-v10.html"}
>
>   :dependencies [
>   [org.clojure/clojure "1.8.0"]  
>   [mysql/mysql-connector-java "5.1.38"]
>   [org.clojure/java.jdbc "0.7.3"]
>   ]
>
>   :main ^:skip-aot jclojure.core
>   :target-path "target/%s"
>   :profiles {:uberjar {:aot :all}})
>
>
> the code (some of...):
>
> (ns jclojure.core
> (:gen-class))
>
> (defn -main
>   "I don't do a whole lot ... yet."
>   [& args]
>   
>   ;(:require [clojure.java [jdbc :as sql]])
>
>   ;(require '[clojure.java.jdbc :as jdbc])
>
>   (ns dbns
>   (:require [clojure.java.jdbc :as jdbc]
>   [mysql/mysql-connector-java "5.1.38"]))
>   
>   ;(use 'clojure.java.jdbc)
>   
>   (println "Hello, World!")
>
>   (let [
> db-host "localhost"
> db-port 3306
> db-name "sidonie"
> ]
> 
> (def db {
>  :classname "com.mysql.jdbc.Driver" ; must be in classpath
>  :subprotocol "mysql"
>  :subname (str "//" db-host ":" db-port "/" db-name)
> ; Any additional keys are passed to the driver
> ; as driver-specific properties.
>  :user "mattei"
>  :password "sidonie2"}))
>   
> ;(jdbc/query db ["SELECT * FROM Sigles"])
>
>   (jdbc/with-connection db
> (jdbc/with-query-results rows
>  ["select * from Sigles"]
>  (println rows)))
>
>  
>   )
>
>
> and now the error:
>
> [mattei@moita jclojure]$ lein run
> Exception in thread "main" java.lang.RuntimeException: No such namespace: 
> jdbc, compiling:(jclojure/core.clj:37:3)
> at clojure.lang.Compiler.analyze(Compiler.java:6688)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3766)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6870)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6001)
> at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5380)
> at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3972)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6866)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6856)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.access$300(Compiler.java:38)
> at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:589)
> at clojure.lang.Compiler.analyzeSeq(Compiler.java:6868)
> at clojure.lang.Compiler.analyze(Compiler.java:6669)
> at clojure.lang.Compiler.analyze(Compiler.java:6625)
> at clojure.lang.Compiler.eval(Compiler.java:6931)
> at clojure.lang.Compiler.load(Compiler.java:7379)
> at clojure.lang.RT.loadResourceScript(RT.java:372)
> at clojure.lang.RT.loadResourceScript(RT.java:363)
> at clojure.lang.RT.load(RT.java:453)
> at clojure.lang.RT.load(RT.java:419)
> at clojure.core$load$fn__5677.invoke(core.clj:5893)
> at clojure.core$load.invokeStatic(core.clj:5892)
> at clojure.core$load.doInvoke(core.clj:5876)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
> at clojure.core$load_one.invokeStatic(core.clj:5697)
> at clojure.core$load_one.invoke(core.clj:5692)
> at clojure.core$load_lib$fn__5626.invoke(core.clj:5737)
> at clojure.core$load_lib.invokeStatic(core.clj:5736)
> at clojure.core$load_lib.doInvoke(core.clj:5717)
> at clojure.lang.RestFn.applyTo(RestFn.java:142)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$load_libs.invokeStatic(core.clj:5774)
> at clojure.core$load_libs.doInvoke(core.clj:5758)
> at clojure.lang.RestFn.applyTo(RestFn.java:137)
> at clojure.core$apply.invokeStatic(core.clj:648)
> at clojure.core$require.invokeStatic(core.clj:5796)
> at clojure.core$require.doInvoke(core.clj:5796)
> at clojure.lang.RestFn.invoke(RestFn.java:408)
>