2009-09-09 5 views
4

간단한 Groovy 스크립트를 DB에 연결하려고합니다.groovy를 SQL 서버에 연결

코드 : 나는 C 내부 jtds 라이브러리-1.2.3.jar를 배치 한

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

: \ lib 폴더 \ 끝내-1.6.3하지만 위의 코드는 불평 유지 :

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver 
+1

을 설정 그냥 URL이 JDBC해야한다고 지적하고 싶었 // MYSERVERIP, 당신은 나와 한 일이다 jtd가 누락 되었기 때문에 올바르지 않습니다. –

답변

1

GROOVY_HOME 환경 변수가 c : \ groovy-1.6.3

2

으로 설정되어 있는지 확인하십시오. def sql을 실행하기 전에 jtds-1.2.2.jar을 다운로드하고 그루비 스크립트 에 아래 라인을 추가하십시오. jtds 라이브러리 : SQLSERVER :

this.class.classLoader.rootLoader.addURL(new URL("file:/C:\\jtds-1.2.2.jar")) 
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}" 
} 
+1

jdbc url은 "jdbc : jtds : sqlserver : // MYSERVERIP"이어야합니다. 그렇지 않으면 No Driver 예외가 발생합니다. –