2016-07-22 18 views
3

Ich versuche, Daten aus SQL Server-Datenbanktabelle und zeigen sie als Teil der Wahl Parameter als Teil eines Jenkins Job Build Parameters, die ich versuche einzurichten.Jenkins SQLServer Choice-Parameter - Abrufen von Daten aus der Datenbank

Ich versuche herauszufinden, wie Extensible Choice dafür zu verwenden. Die Wahl Provider I verwendet wird, ist "System Groovy Wahl 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() 

Unten ist der Fehler, den ich sehe. Was ich verstehe, sehe ich, weil der jdbc-Treiber nicht vorhanden ist. Ich habe die Treiber aus dem unten stehenden Link:

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

Ich folgte den Anweisungen, wo sollte es zu dekomprimiert werden, wie in der Anleitung erwähnt.

sah ich, dass der CLASSPATH Variable fehlt, so ging ich weiter und schaffte die Umgebungsvariable mit dem Pfad: "C: \ Programme \ sqljdbc_6.0 \ enu \ sqljdbc.jar"

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

Wie Stellen Sie sicher, dass das Skript erfolgreich ausgeführt wird und alle Daten an Extensible Choice zurückgibt. Wenn es anders geht, bin ich offen für Vorschläge.

Vielen Dank

Antwort

0

das Problem zu beheben ich die "sqljdbc4.jar" Datei zu dem folgenden Speicherort "C: \ Java \ jdk1.8.0_92 \ jre \ lib \ ext" zu kopieren hatte, da diese ist der Pfad, in dem die JAVA nach den externen Jars sucht. Verwenden Sie die 4. Version für die Datei, die 4 im Dateinamen wie oben haben wird, wie Version Jenkins unterstützt.