JDOQL:如何执行“CREATE USER”?

时间:2012-10-31 22:03:57

标签: sql datanucleus jdoql

我正在尝试使用DataNucleus中的JDOQL创建一个USER(在本例中使用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 ;

我该如何执行此操作?

感谢。

1 个答案:

答案 0 :(得分:1)

您是否尝试设置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'");
...