【发布时间】:2013-05-14 12:56:59
【问题描述】:
我已通过 JDBC(未指定 sid 或服务)成功连接到我的数据库:com.test.sql.url=jdbc:oracle:thin://@111.222.333.444:1521,但是当我的 java 程序尝试插入使用我创建的序列的行时,我收到错误 java.sql.SQLSyntaxErrorException: ORA-02289: sequence does not exist。我已经在 SQL 开发人员中验证了我的数据库用户的序列存在,所以我认为这是某种权限问题?我最初使用 sys 作为 sysdba 创建了用户,然后创建了一个以新用户身份连接的脚本,并创建了所有必要的表和序列。我在这里想念什么?谢谢。
【问题讨论】:
-
你的代码是什么样的?
-
@hol dbConnection.prepareStatement("select ticket_seq.NextVal from dual");
-
是否需要设置架构?喜欢
myschema.ticket_seq.next_val -
@hol 我已经手动(不在我的应用程序中)尝试使用模式,但它仍然说序列不存在(在 t 下有一个 *,所以它找不到ticket_seq)我已经仔细检查了名称和序列 ticket_seq 在 sql developer 中对我的应用程序使用的相同用户/密码可见。但是当我在 sqlplus 中时,我也无法从中选择。
-
另外有趣的是,当我使用 sys 作为 sysdba 运行命令
select userSchema.ticket_seq.nextval from dual时,序列也不存在。
标签: oracle11g