No query executer factory registered for the 'plsql' language in JasperServer 5.1

Table of Contents 

Problem:

When trying to run a MSSQL Stored Procedure in JasperServer, after selecting plsql as the language, the server returns the following error message: No query executer factory registered for the 'plsql' language.

Resolution:

Download jasperreports-extentions-3.5.3.jar.  http://www.java2s.com/Code/Jar/j/Downloadjasperreportsextensions353jar.htm

Place this file in your <jasperserver-pro>\WEB-INF\lib directory.

In <js-install>\WEB-INF\classes\jasperreports.properties, add the line:

net.sf.jasperreports.query.executer.factory.plsql=com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory

In <js-install>\WEB-INF\flows\queryBeans.xml, add plsql as a value in the editQueryAction bean's queryLanguages property list:

<bean id="editQueryAction" class="com.jaspersoft.jasperserver.war.action.EditQueryAction">
    <property name="repository">
        <ref bean="${bean.repositoryService}"/>
    </property>
    <property name="queryLanguages">
        <list>
            <value>sql</value>
 
            <!-- Here is the added value to PL/SQL Query Language -->
            <value>plsql</value>
 
            <value>hql</value>
        </list>
    </property>
    <property name="queryLanguagesRequestAttrName" value="queryLanguages" />
    <property name="validator" ref="queryValidator" />
</bean>

In <js-install>\WEB-INF\applicationContext.xml, add plsql (lower and uppercase) as values in the jdbcDataSourceServiceFactory and the jndiJdbcDataSourceServiceFactory service beans:

<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
    <property name="serviceBeanName" value="jdbcDataSourceServiceFactory"/>
    <property name="supportedQueryLanguages">
        <set>
            <value>sql</value>
            <value>SQL</value>
 
            <!-- Add these two value lines for the Oracle PL/SQL Language -->
            <value>plsql</value>
            <value>PLSQL</value>
 
        </set>
    </property>
</bean>
 
<bean class="com.jaspersoft.jasperserver.api.engine.jasperreports.util.DataSourceServiceDefinition">
    <property name="serviceBeanName" value="jndiJdbcDataSourceServiceFactory"/>
    <property name="supportedQueryLanguages">
        <set>
            <value>sql</value>
            <value>SQL</value>
 
            <!-- Add these two value lines for the Oracle PL/SQL Language -->
            <value>plsql</value>
            <value>PLSQL</value>
 
            </set>
        </property>
</bean>

Restart the Jasper Services.

Feedback
randomness