Sql JDOQL:如何执行;创建用户";?

Sql JDOQL:如何执行;创建用户";?,sql,datanucleus,jdoql,Sql,Datanucleus,Jdoql,我试图在DataNucleus中使用JDOQL创建一个用户(在本例中使用H2数据库) PersistenceManager pm=pmf.getPersistenceManager(); Query query = pm.newQuery("javax.jdo.query.SQL", "CREATE USER GUEST PASSWORD 'abc'"); query.execute(); 结果:org.h2.jdbc.JdbcSQLException:方法仅允许用于查询。使用execute或

我试图在DataNucleus中使用JDOQL创建一个用户(在本例中使用H2数据库)

PersistenceManager pm=pmf.getPersistenceManager();
Query query = pm.newQuery("javax.jdo.query.SQL", "CREATE USER GUEST PASSWORD 'abc'");
query.execute();
结果:org.h2.jdbc.JdbcSQLException:方法仅允许用于查询。使用execute或executeUpdate代替executeQuery

我如何执行此操作


谢谢。

您是否尝试设置pmf属性? datanucleus.query.sql.allowAll=true

您可以尝试的另一种方法是:

JDOConnection con = pm.getDataStoreConnection();
Connection nativeCon = (Connection) con.getNativeConnection();
...
Statement stmt = nativeCon.createStatement();
stmt.executeUpdate("CREATE USER GUEST PASSWORD 'abc'");
...
是的,我有“datanucleus.query.sql.allowAll=true”。你的答案是唯一可行的选择。谢谢