当前位置: 首页 > 知识库问答 >
问题:

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

柴耀
2023-03-14

我正在尝试编写一个在oracle db上运行查询的管道脚本。我有一个安装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"时失败。

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

共有1个答案

国阳
2023-03-14

我忘记了我发布的这个问题,甚至在几个月后发布了一个非常类似的问题:需要一个工作策略来在Jenkins管道脚本中执行SQL脚本。

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

 类似资料:
  • 我是Gradle项目的新手,我有一个问题。我在网上搜索过,但找不到我需要的东西,或者我不知道如何搜索。首先我要告诉你我的情况。我有一个Gradle项目,我想在将来与jenkins一起执行几个自动化测试,但现在我想在Eclipse上进行尝试。我在/lib目录中有oracle jdbc驱动程序,这是我的构建。格拉德尔 我想在一个类中使用这个jdbc驱动程序,但我不知道如何使用它。当我尝试使用Maven

  • 我们目前正在为我们的团队开发持续交付管道实施。我们的方法是从Jenkins推送可部署到Nexus,然后使用Automic从Nexus拉取以部署到我们的目标环境。这的主要原因是目前自动部署是自动化的和到位的。我们只想重用现有的部署过程,并将其与我们正在编写的新CD Pipeline脚本集成。 我们面临的挑战是詹金斯的反向握手- 我们目前的做法 > JenkinsPipeline Script使用一个

  • 问题内容: 我正在使用詹金斯管道项目。在脚本中,我想以动态方式编写 并行 块,因为节点数可以更改。例如,从此: 像这样 但是这种方式行不通,Groovy / Jenkins对这种语法不满意。有人可以建议一种更好的方法吗? 问题答案: 您可以像先定义节点图一样,然后将其执行为。

  • 问题内容: 我最近将bash执行命令重写为Jenkins管道。旧代码就像 现在,我使用管道脚本来包装命令,像这样 但是,我遇到了一个错误。当我尝试时,它会正确显示。所以我怀疑内部有问题。 在使用管道之前,命令在外壳执行中工作正常。因此,源代码安装在Jenkins服务器上,似乎管道脚本不知道源命令是什么。 如何在sh wrapd块中运行source命令? 问题答案: 替换为 请注意,第一个点后有一个

  • 我有selenium 2.53.1.jar、platform Windows、Java-1.8、chrome=52.0、chrome-driver.exe-2.23。 在Jenkins上进行夜间观察测试时,我看到了以下消息。 org.openqa.selenium.WebDriverException:未知错误:无法发现打开的页面(驱动信息:chromeDrive=2.23.409699 (49b