2016-07-22 110 views
3

我想从SQL Server数据库表中获取数据,并将它显示为选项参数的一部分,作为我尝试设置的Jenkins作业构建参数的一部分。Jenkins SQLServer选择参数 - 从数据库检索数据

我想弄清楚如何使用Extensible Choice。 我使用的选择供应商是“系统的Groovy选择参数”

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。如果还有其他方法可以做到这一点,我愿意提供建议。

非常感谢您

回答

0

要解决我的“sqljdbc4.jar”文件复制到以下位置问题“C:\的Java \ jdk1.8.0_92 \ JRE \ lib中\分机”,因为这是JAVA搜索外部罐子的路径。如上所述,文件名中使用4的文件使用第4版,因为这是Jenkins支持的版本。