Jenkins SQLServer选择参数 - 从数据库中检索数据

时间:2016-07-22 22:37:44

标签: java sql-server jdbc jenkins groovy

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

我正在试图弄清楚如何使用Extensible Choice。 我使用的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。如果还有其他办法,我愿意接受建议。

非常感谢

1 个答案:

答案 0 :(得分:0)

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