【问题标题】:JDOQL: How to execute "CREATE USER"?JDOQL:如何执行“创建用户”?
【发布时间】:2012-10-31 22:03:56
【问题描述】:

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

我该如何执行?

谢谢。

【问题讨论】:

    标签: sql datanucleus jdoql


    【解决方案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'");
    ...
    

    【讨论】:

    • 是的,我有“datanucleus.query.sql.allowAll=true”。您的答案是唯一可行的选择。谢谢。
    猜你喜欢
    • 2021-01-01
    • 2012-07-21
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多