无法从groovy连接到oracle数据库

时间:2013-09-27 11:06:50

标签: jdbc groovy groovy-console

您好我无法连接到groovy中的oracle数据库。我在groovy控制台中使用了以下代码,但得到以下编译错误

unable to resolve class oracle.jdbc.driver.OracleTypes
 at line: 5, column: 1

我使用了以下代码

import java.sql.Connection
import java.sql.DriverManager
import javax.sql.DataSource
import groovy.sql.Sql
import oracle.jdbc.driver.OracleTypes

sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:databasename",
               "username", "password", "oracle.jdbc.OracleDriver")

如果我删除了import oracle.jdbc.driver.OracleTypes语句,我将收到以下WARNING: Sanitizing stacktrace:。请帮助我如何解决此问题,我已将ojdbc14.jar放在lib文件夹中。

2 个答案:

答案 0 :(得分:5)

newInstance 调用中删除所有不必要的导入和驱动程序类,如下所示:

import groovy.sql.Sql

sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:databasename", "username", "password")

以上就够了,对我来说效果很好,不过我正在使用ojdbc6-11.2.jar

除了取决于您是否使用 SID 服务名称,可能必须更改JDBC URL的最后一个分号。

答案 1 :(得分:0)

我在将Groovy连接到Oracle时遇到了一些问题。

我尝试使用

抓取ojdbc14.jar

https://mvnrepository.com/artifact/com.oracle/ojdbc14/10.2.0.3.0

// https://mvnrepository.com/artifact/com.oracle/ojdbc14
@Grapes(
    @Grab(group='com.oracle', module='ojdbc14', version='10.2.0.3.0')
)

但是没找到该文件。

我将ojdbc14.jar从我的Oracle客户端目录复制到%GROOVY_HOME%\ lib,它就像一个魅力。如果您没有安装Oracle SQL客户端,我相信您可以从互联网上下载ojdbc14.jar。

复制C:\ DevSuiteHome_1 \ jdbc \ lib \ ojdbc14.jar C:\ groovy-2.4.11 \ lib

url= "jdbc:oracle:thin:@localhost:1521:SID"
username = "un"
password = "pw"
driver = "oracle.jdbc.driver.OracleDriver"

// Groovy Sql connection test
import groovy.sql.*
sql = Sql.newInstance(url, username, password, driver)
try {
    sql.eachRow('select sysdate from dual'){ row ->
    println row
 }
 } finally {
     sql.close()
 }

希望有所帮助。