Domanda

Sto cercando di collegare un semplice script groovy al DB.

Codice:

import groovy.sql.Sql
class GroovySqlExample2{
  static void main(String[] args) {
    def sql = Sql.newInstance("jdbc:sqlserver://MYSERVERIP", "uname",
           "pwd", "net.sourceforge.jtds.jdbc.Driver")
    sql.eachRow("select * from word"){ 
      println it.spelling + " ${it.part_of_speech}"
    }
  }
}

Ho inserito jtds-1.2.3.jar nella cartella C: \ groovy-1.6.3 \ lib ma il codice sopra continua a lamentarsi:

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
È stato utile?

Soluzione

Assicurati di avere una variabile d'ambiente GROOVY_HOME impostata su c: \ groovy-1.6.3

Altri suggerimenti

Usa Grape e imposta systemClassLoader=true

@Grapes(
    @Grab(group='net.sourceforge.jtds', module='jtds', version='1.3.1')
)
@GrabConfig(systemClassLoader=true)
import groovy.sql.*
// http://jtds.sourceforge.net/faq.html#urlFormat
def sql = Sql.newInstance("jdbc:jtds:sqlserver://MYSERVERIP", "uname",
       "pwd", "net.sourceforge.jtds.jdbc.Driver")
sql.eachRow("select * from word"){ 
  println it.spelling + " ${it.part_of_speech}"
}

Scarica jtds-1.2.2.jar e aggiungi la riga seguente nello script groovy prima di def sql.

this.class.classLoader.rootLoader.addURL( new URL("file:/C:\\jtds-1.2.2.jar"))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top