Вопрос

Я пытаюсь подключить простой скрипт groovy к базе данных.

Код:

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}"
    }
  }
}

Я разместил jtds-1.2.3.jar внутри папки C:\groovy-1.6.3\lib, но приведенный выше код продолжает жаловаться:

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
Это было полезно?

Решение

Убедитесь, что для переменной окружения GROOVY_HOME установлено значение c:\groovy-1.6.3

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

Используйте виноград и сервируйте 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}"
}

Загрузите jtds-1.2.2.jar и добавьте приведенную ниже строку в свой groovy script перед определением sql.

this.class.classLoader.rootLoader.addURL( new URL("file:/C:\\jtds-1.2.2.jar"))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top