【问题标题】:Jenkins SQLServer Choice Parameter - Retrieve data from databaseJenkins SQLServer 选择参数 - 从数据库中检索数据
【发布时间】:2016-11-26 22:22:42
【问题描述】:

我正在尝试从 SQL Server 数据库表中获取数据,并将其显示为选择参数的一部分,作为我尝试设置的 Jenkins 作业构建参数的一部分。

我正在尝试弄清楚如何为此使用可扩展选择。 我使用的 Choice 提供程序是“System Groovy Choice Parameter”

import groovy.sql.Sql
import com.microsoft.sqlserver.jdbc.SQLServerDriver

def output = []

def configuration = [
 'dbInstance' : 'servername',
 'dbPort' : 0000,
 'dbName' : 'dbName',
 'dbUser' : 'dbUser',
 'dbPass' : 'dbPass'
]

def sql = Sql.newInstance("jdbc:sqlserver://${configuration.dbInstance}:${configuration.dbPort};" 
+ "databaseName=" + configuration.dbName, 
configuration.dbUser, configuration.dbPass, 
'com.microsoft.sqlserver.jdbc.SQLServerDriver')

String sqlString = "SELECT * FROM dbTable"
sql.eachRow(sqlString){ row -> output.push(row[0])
}

return output.sort()

以下是我看到的错误。我明白我看到是因为 jdbc 驱动程序不存在。我从以下链接下载了驱动程序:

https://www.microsoft.com/en-us/download/details.aspx?id=11774

我按照说明中的说明将其解压缩到哪里。

我看到缺少 CLASSPATH 变量,所以我继续创建环境变量,路径为:“C:\Program Files\sqljdbc_6.0\enu\sqljdbc.jar”

Error: unable to resolve class com.microsoft.sqlserver.jdbc.SQLServerDriver

如何确保脚本成功运行并将所有数据返回到 Extensible Choice。如果有其他方法可以做到这一点,我愿意接受建议。

非常感谢

【问题讨论】:

    标签: java sql-server jdbc jenkins groovy


    【解决方案1】:

    为了解决这个问题,我必须将“sqljdbc4.jar”文件复制到以下位置“C:\Java\jdk1.8.0_92\jre\lib\ext”,因为这是 JAVA 搜索的路径外部罐子。使用 4th version 作为文件名中包含 4 的文件,因为这是 Jenkins 支持的版本。

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2014-09-10
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      相关资源
      最近更新 更多