如何使 Oracle jdbc 驱动程序 jar 可用于从机上的 jenkins 管道脚本

How to make the Oracle jdbc driver jar available to jenkins pipeline script on a slave

我正在尝试编写一个在 oracle 数据库上运行查询的管道脚本。我有一个安装了 Oracle JDBC 驱动程序 jar 的奴隶。

在主服务器的全局设置中,我已将 "Additional groovy classpath" 字段设置为从服务器上驱动程序 jar 的路径。

然后 运行 我的管道脚本,到目前为止非常简单:

import groovy.sql.Sql;

node ("sqlplus") {
    stage ("RUN QUERY") {
        def sql = Sql.newInstance("jdbc:oracle:thin:@...", "..", "..", "oracle.jdbc.driver.OracleDriver")
         query = "SELECT count(*) from ..."
         println sql.rows(query)
         sql.close() 
    }
}

这可以编译,但失败 "java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver"。

所以,我是否必须重新启动一些东西才能让它工作,或者这不会像我期望的那样工作?

我忘记了我发布的这个问题,甚至在几个月后发布了一个非常相似的问题: .

我在后面的帖子中更彻底地调查了这个问题,我得出的结论是在管道脚本中的 "the Java way" 中执行 Sql 查询是不切实际的。唯一合理的替代方案是直接执行数据库命令行客户端(例如 "sqlplus" 或 "mysql")并将脚本通过管道传输到其中,或者在 Gradle 构建脚本中编写任务以执行查询。