dbeaver / dbeaver

Free universal database tool and SQL client
https://dbeaver.io
Apache License 2.0
39.35k stars 3.4k forks source link

add support run stores procedure for ProfileBD/FIS #3785

Open Bsplesk opened 6 years ago

Bsplesk commented 6 years ago

Feature request/Bug report

adding of support of performing store procedures for ProfileBD/FES wiki FIS_(company) wiki GT.M is a high-throughput key-value database/MUMPS (support JDBC driver)

at the moment

CALL NAME_PROCEDURE(Param1, Param2, 'ParamX');

result

java.sql.SQLException: Not supported for anything other than Aggregate Message Service Class. at sanchez.jdbc.driver.ScCallableStatement.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.execute(JDBCPreparedStatementImpl.java:259) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:203) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.executeStatement(JDBCCallableStatementImpl.java:229) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:445) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1539) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2276) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1539) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

work example java

        connection = dataSource.getConnection();
        callableStatement = connection.prepareCall( "{call NAME_PROCEDURE (Param1,?,?)}" );
        callableStatement.setInt(1, 1);  // Param 2
        callableStatement.setString(2, xml); // Param 3
        callableStatement.registerOutParameter(1, java.sql.Types.VARCHAR);
        resultSet = callableStatement.executeQuery();

        while (resultSet.next()) {
                outputStr.append(resultSet.getString(1));
            }

base connection.prepareCall( "{call NAME_PROCEDURE (Param1,?,?)}" );

DBeaver 5.1.2/Arch Linux/Windows 10

serge-rider commented 6 years ago

This seems to be driver-specific issue. Could you try to execute it as

{ CALL NAME_PROCEDURE(Param1, Param2, 'ParamX'); }

?

Bsplesk commented 6 years ago

Perhaps it will be useful: documentation driver and driver + The YottaDB GitHub project (fork GT.M), uses this driver

dbeaver 5.1.4 (30 july git )

{call mrpc(param, param, param)};

Error: Not supported for anything other than Aggregate Message Service Class.

!ENTRY org.jkiss.dbeaver.model 4 0 2018-07-30 14:57:26.430 !MESSAGE SQL Error: Not supported for anything other than Aggregate Message Service Class. !STACK 0 org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:206) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.executeStatement(JDBCCallableStatementImpl.java:229) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:445) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) Caused by: java.sql.SQLException: Not supported for anything other than Aggregate Message Service Class. at sanchez.jdbc.driver.ScCallableStatement.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.execute(JDBCPreparedStatementImpl.java:259) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:203) ... 12 more !SUBENTRY 1 org.jkiss.dbeaver.model 4 0 2018-07-30 14:57:26.430 !MESSAGE Not supported for anything other than Aggregate Message Service Class. !STACK 0 java.sql.SQLException: Not supported for anything other than Aggregate Message Service Class. at sanchez.jdbc.driver.ScCallableStatement.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.execute(JDBCPreparedStatementImpl.java:259) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:203) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.executeStatement(JDBCCallableStatementImpl.java:229) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:445) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) debug: 2018-07-30 14:56:55.182 - The driver doesn't support the API java.sql.PreparedStatement#getParameterMetaData() 2018-07-30 14:56:55.186 - Error extracting parameters meta data java.sql.SQLException: The driver doesn't support the API java.sql.PreparedStatement#getParameterMetaData() at sanchez.jdbc.dbaccess.ScDBError.check_error(Unknown Source) at sanchez.jdbc.driver.ScCallableStatement.getParameterMetaData(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.(JDBCCallableStatementImpl.java:118) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCFactoryDefault.createCallableStatement(JDBCFactoryDefault.java:48) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.createCallableStatementImpl(JDBCConnectionImpl.java:710) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareCall(JDBCConnectionImpl.java:400) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareStatement(JDBCConnectionImpl.java:103) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareStatement(JDBCConnectionImpl.java:1) at org.jkiss.dbeaver.model.DBUtils.createStatement(DBUtils.java:1037) at org.jkiss.dbeaver.model.DBUtils.makeStatement(DBUtils.java:1005) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:425) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) 2018-07-30 14:56:55.278 - null org.jkiss.dbeaver.DBException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1580) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) Caused by: org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:823) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) ... 3 more Caused by: org.jkiss.dbeaver.DBException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1580) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) ... 6 more Caused by: org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:206) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.executeStatement(JDBCCallableStatementImpl.java:229) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:445) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) ... 8 more Caused by: java.sql.SQLException: Not supported for anything other than Aggregate Message Service Class. at sanchez.jdbc.driver.ScCallableStatement.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.execute(JDBCPreparedStatementImpl.java:259) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:203) ... 12 more 2018-07-30 14:57:26.260 - The driver doesn't support the API java.sql.PreparedStatement#getParameterMetaData() 2018-07-30 14:57:26.264 - Error extracting parameters meta data java.sql.SQLException: The driver doesn't support the API java.sql.PreparedStatement#getParameterMetaData() at sanchez.jdbc.dbaccess.ScDBError.check_error(Unknown Source) at sanchez.jdbc.driver.ScCallableStatement.getParameterMetaData(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.(JDBCCallableStatementImpl.java:118) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCFactoryDefault.createCallableStatement(JDBCFactoryDefault.java:48) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.createCallableStatementImpl(JDBCConnectionImpl.java:710) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareCall(JDBCConnectionImpl.java:400) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareStatement(JDBCConnectionImpl.java:103) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCConnectionImpl.prepareStatement(JDBCConnectionImpl.java:1) at org.jkiss.dbeaver.model.DBUtils.createStatement(DBUtils.java:1037) at org.jkiss.dbeaver.model.DBUtils.makeStatement(DBUtils.java:1005) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:425) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) 2018-07-30 14:57:26.354 - null org.jkiss.dbeaver.DBException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1580) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:91) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:95) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60) Caused by: org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:823) at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2345) at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:93) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) ... 3 more Caused by: org.jkiss.dbeaver.DBException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1580) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:387) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.extractData(SQLQueryJob.java:818) ... 6 more Caused by: org.jkiss.dbeaver.model.exec.DBCException: SQL Error: Not supported for anything other than Aggregate Message Service Class. at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:206) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCCallableStatementImpl.executeStatement(JDBCCallableStatementImpl.java:229) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.executeStatement(SQLQueryJob.java:445) at org.jkiss.dbeaver.runtime.sql.SQLQueryJob.lambda$0(SQLQueryJob.java:389) at org.jkiss.dbeaver.model.DBUtils.tryExecuteRecover(DBUtils.java:1552) ... 8 more Caused by: java.sql.SQLException: Not supported for anything other than Aggregate Message Service Class. at sanchez.jdbc.driver.ScCallableStatement.execute(Unknown Source) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.execute(JDBCPreparedStatementImpl.java:259) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCPreparedStatementImpl.executeStatement(JDBCPreparedStatementImpl.java:203) ... 12 more

sql queries working

serge-rider commented 5 years ago

I need access to a live instance of this db server to fix this. Or somebody's assistance. Please write me on serge@jkiss.org