【问题标题】:How to make the Oracle jdbc driver jar available to jenkins pipeline script on a slave如何使 Oracle jdbc 驱动程序 jar 可用于从站上的 jenkins 管道脚本
【发布时间】:2017-03-20 08:21:12
【问题描述】:

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

在主服务器的全局设置中,我已将“附加 groovy 类路径”字段设置为从服务器上驱动程序 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”。

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

【问题讨论】:

    标签: oracle jdbc jenkins groovy jenkinsfile


    【解决方案1】:

    我忘记了我发布的这个问题,甚至在几个月后发布了一个非常相似的问题:Need a working strategy to execute SQL scripts in Jenkins pipeline script

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

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 2016-12-10
      • 1970-01-01
      • 2010-10-15
      • 2021-08-30
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多