I wrote a script to query a DB (I've already reviewedhttps://scriptrunner.adaptavist.com/latest/jira/recipes/misc/connecting-to-databases.html) and when i run it as part of my workflow I get the following error:
2016-04-27 13:15:45,913 http-bio-443-exec-2 WARN j1014151 795x298x1 14we0u0 10.47.4.82 /secure/CommentAssignIssue.jspa [jmwe.plugins.functions.SetFieldValueFunction] Error while executing SetFieldValueFunction: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
However when I run it from the Built In Scripts as an escalation service it finds the Class just fine. Where do I need to drop the sqljdbc4.jar so it is picked up or what setting is needed to be changed so that I can load the class correctly.
import groovy.sql.Sql; import java.sql.Driver; def driver = Class.forName('com.microsoft.sqlserver.jdbc.SQLServerDriver').newInstance() as Driver def props = new Properties() props.setProperty("user", "my_user") props.setProperty("password", "my_pass") def conn = driver.connect("jdbc:sqlserver://my_server:1433;databaseName=my_db", props) def sql = new Sql(conn) def statement =" select foo from bar" def ced = sql.firstRow(statement); return ced.foo.toString();
You should place the jar file under the "<
JIRA installation directory>
/lib/" directory of where JIRA is installed.
If you installed the JIRA distribution for Windows, the SQL server driver should already come with it but I assume this is not the case. See link here.
As another test I switched over to use a jtds connection and again it works perfect from the Script Console but cannot load the class when called via a Workflow.
def driver = Class.forName('net.sourceforge.jtds.jdbc.Driver').newInstance() as Driver def props = new Properties() props.setProperty("user", "my_user") props.setProperty("password", "my_pass") def conn = driver.connect("jdbc:jtds:sqlserver://my_server:1433/my_db", props) def sql = new Sql(conn)
To be more clear, when I am attempting to run it from a workflow I am selecting "Set Field Value to constant or Groovy expression" from the Post Function list.
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs