2012-10-31 29 views
0

我试图创建一个用户(在这种情况下使用H2数据库)JDOQL:如何执行“CREATE USER”?在DataNucleus将使用JDOQL

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

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

另一个你可以尝试的方法是类似的东西:

JDOConnection con = pm.getDataStoreConnection(); 
Connection nativeCon = (Connection) con.getNativeConnection(); 
... 
Statement stmt = nativeCon.createStatement(); 
stmt.executeUpdate("CREATE USER GUEST PASSWORD 'abc'"); 
... 
+0

是的,我有 “datanucleus.query.sql.allowAll =真”。你的答案是真正可行的唯一选择。谢谢。 – marcolopes