0

我正在尝试在 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

我该如何执行?

谢谢。

4

1 回答 1

2

您是否尝试设置 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'");
...
于 2012-11-08T00:25:19.650 回答