2009-09-09 133 views
4

我想连接一个简单的groovy脚本到数据库。连接groovy到SQL服务器

代码:

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

我已经放在C内JTDS-1.2.3.jar:\ Groovy的1.6.3 \ lib文件夹,但上面的代码一直在抱怨:

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

虽然没有涉及到你的错误只是想指出的是,网址应为jdbc:JTDS:SQLSERVER:// MYSERVERIP,你已经列出的是不正确,因为它缺少jtds。 – 2009-09-09 17:41:21

回答

1

请确保你有一个GROOVY_HOME环境变量设置为C:\ Groovy的1.6.3

2

下载JTDS-1.2.2.jar和DEF SQL前添加下面一行在你的Groovy脚本 。

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 Suitable Driver异常。 – 2015-08-18 03:51:36