Oracle11g 我的应用程序无权访问我的Oracle 11g数据库序列

Oracle11g 我的应用程序无权访问我的Oracle 11g数据库序列,oracle11g,Oracle11g,我已通过JDBC成功地连接到数据库(未指定sid或服务):com.test.sql.url=JDBC:oracle:thin://@111.222.333.444:1521,但当我的java程序尝试插入使用我创建的序列的行时,我得到错误java.sql.SQLSyntaxErrorException:ORA-02289:序列不存在。我已经在SQLDeveloper中验证了我的序列对于我的数据库用户是存在的,所以我认为这是某种权限问题?我首先用sys作为sysdba创建了用户,然后创建了一个作为新

我已通过JDBC成功地连接到数据库(未指定sid或服务):
com.test.sql.url=JDBC:oracle:thin://@111.222.333.444:1521
,但当我的java程序尝试插入使用我创建的序列的行时,我得到错误
java.sql.SQLSyntaxErrorException:ORA-02289:序列不存在
。我已经在SQLDeveloper中验证了我的序列对于我的数据库用户是存在的,所以我认为这是某种权限问题?我首先用sys作为sysdba创建了用户,然后创建了一个作为新用户连接的脚本,并创建了所有必要的表和序列。我错过了什么?谢谢。

我解决了这个问题。这实际上是我的数据库创建脚本的一个问题。我已经用
CREATE sequence“ticket_seq”以10开头创建了序列select ticket\u seq.nextval from dual
被解释为
select ticket\u seq.nextval from dual
,因此找不到我的小写序列。我从脚本中删除了双引号,现在我可以按预期找到序列。

您的代码是什么样子?@hol dbConnection.prepareStatement(“select ticket_seq.NextVal from dual”);是否需要设置架构?像
myschema.ticket_seq.next_val
@hol,我已经手动尝试了模式(不是在我的应用程序中),但它仍然说序列不存在(在t下有*所以它找不到ticket_seq),我已经仔细检查了名称,并且序列ticket_seq在sql developer中对我的应用程序使用的同一用户/密码可见。但当我在sqlplus中时,我也无法从中进行选择。同样有趣的是,当我从dual运行命令
select userSchema.ticket\u seq.nextval时,序列也不存在,sys作为sysdba.interest。感谢分享解决方案。