从数据库中选择序列时的SQLSyntaxErrorException(ORACLE 11g)

时间:2014-11-27 11:05:36

标签: java sql oracle oracle11g sequence

只有当我尝试从我的数据库中选择一个序列号时才会有一个奇怪的异常。如果我直接在我的数据库中运行此查询:SELECT MYSEQUENCE.NEXTVAL from DUAL它可以正常工作并给我下一个值。当我在JAVA上运行相同的查询时,我有一个SQLSyntaxErrorException

statement = connection.prepareStatement(MY_SEQ);
resultSet = statement.executeQuery();
MY_SEQ= private static final String MY_SEQ="SELECT MYSEQUENCE.NEXTVAL from DUAL";

我尝试执行另一个查询SELECT ID from ANYTABLE以尝试在配置中出错但运行完美并返回结果。

了解我的例外情况?

1 个答案:

答案 0 :(得分:0)

授予选择问题。我做了grant select on DB.MYSEQUENCE to MY_USER;,我已经完成了一个授权选择,但提交似乎没有成功。而SQLSyntaxErrorException是因为我必须为该序列创建SYNONYM,没有同义词,我必须执行DB.MYSEQUENCE。所以创建序列的顺序比在JAVA中使用它的顺序是:

  1. 创建序列
  2. 创建同义词以使用该序列
  3. 为您在jdbc配置中的用户创建该序列的授权选择