【问题标题】:connecting groovy to sql server将groovy连接到sql server
【发布时间】:2010-11-26 21:10:36
【问题描述】:

我正在尝试将一个简单的 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

【问题讨论】:

  • 虽然与您的错误无关,只是想指出该网址应为 jdbc:jtds:sqlserver://MYSERVERIP,但您列出的网址不正确,因为它缺少 jtds。

标签: groovy jtds


【解决方案1】:

使用葡萄并设置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}"
}

【讨论】:

  • jdbc url 应该是“jdbc:jtds:sqlserver://MYSERVERIP”,否则会抛出 No applicable Driver 异常。
【解决方案2】:

下载 jtds-1.2.2.jar 并在您的 groovy 脚本中添加以下行 在 def sql 之前。

this.class.classLoader.rootLoader.addURL( new URL("file:/C:\\jtds-1.2.2.jar"))

【讨论】:

    【解决方案3】:

    确保将 GROOVY_HOME 环境变量设置为 c:\groovy-1.6.3

    【讨论】:

      猜你喜欢
      • 2013-01-09
      • 1970-01-01
      • 2021-10-28
      • 2011-06-17
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      相关资源
      最近更新 更多