We are tightening our database permissions for security reasons. Therefore we want to substitute all the selects in the kepler database fields to procedures.
However, when trying to execute a procedure inside a kepler custom fields we get no data and following error pops out in logs:
2014-04-10 12:40:52,809 ajp-bio-8009-exec-85 ERROR ******** 760x1549579x1 1ip0t0b ******** /secure/QuickEditIssue!default.jspa [databasecf.querydb.impl.QueryDatabaseImpl] Could not execute SQL query >>EXEC procedurename<< on database DATABASENAME. java.sql.SQLException: Could not find stored procedure 'procedurename'.
When we execute the same procedure in management studio, using the same user that jira has defined in context.xml to connect to the database, we get all the data from the procedure.
When we use select in kepler, eveything works fine.
What may be wrong? Does Kepler supports exec sql command?
You cannot use directly the result of the stored procedure.
You have to use a temporary table in your sql query for the dbcf field:
CREATE TABLE #temp(COLUMN_NAME varchar(50)); INSERT INTO #temp EXEC procedurename; SELECT * FROM #temp; DROP table #temp;
You will put COLUMN_NAME as column for the dbcf field.
You can find more details on using temporary table in MS Sql Server here:
If you have less than 100 rows in your table you can also use table variables, as described in the same link.
Hope this helps.
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
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot