2

嗨,我无法连接到 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 文件夹中。

4

2 回答 2

5

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

import groovy.sql.Sql

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

以上就足够了,对我来说效果很好,但是我使用的是 ojdbc6-11.2.jar

此外,取决于您使用的是SID还是服务名称,可能必须将 JDBC URL 的最后一个分号更改为斜杠。

于 2013-09-27T16:32:05.990 回答
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 客户端,我相信您可以从 Internet 下载 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()
 }

希望有帮助。

于 2017-07-27T14:59:52.727 回答