0

我已通过 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 创建了用户,然后创建了一个以新用户身份连接的脚本并创建了所有必要的表和序列。我在这里想念什么?谢谢。

4

1 回答 1

1

我解决了这个问题。这实际上是我的数据库创建脚本的问题。我已经创建了序列,CREATE SEQUENCE "ticket_seq" START WITH 10;因此双引号强制区分大小写。我现在知道 Oracle 表/序列等默认不区分大小写,因此命令select ticket_seq.nextval from dual被解释为SELECT TICKET_SEQ.NEXTVAL FROM DUAL,因此找不到我的小写序列。我从脚本中删除了双引号,现在我可以按预期找到序列。

于 2013-05-14T04:56:59.770 回答