首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java SQLException ORA-00904

Java SQLException ORA-00904
EN

Stack Overflow用户
提问于 2012-07-28 17:58:15
回答 3查看 1.4K关注 0票数 0

我在OracleXE11g版本2数据库上获取java ResultSet时遇到问题。我正在使用Oracle驱动程序来设置ojdbc6_g.jar连接。我得到以下错误: ORA-00904:"PARSEBOOL":无效标识符

这是我的Java代码:

代码语言:javascript
复制
st = s.getConnection().createStatement();
rs = st.executeQuery("SELECT ID, METHODNAME, BEAN, PARSEBOOL, HASHID, ALIAS, WEBTAB FROM METHODS");

我非常确定这是正确的,因为它在HSQLDB上测试时都能正常工作。

在SQLDeveloper中,表方法的定义如下:

代码语言:javascript
复制
CREATE TABLE "DFOLSTAT"."METHODS"
  (
    "ID"         NUMBER(*,0) NOT NULL ENABLE,
    "METHODNAME" VARCHAR2(100 BYTE),
    "BEAN"       VARCHAR2(100 BYTE),
    "HASHID"     VARCHAR2(2 BYTE),
    "ALIAS"      VARCHAR2(100 BYTE),
    "WEBTAB"     VARCHAR2(100 BYTE),
    "PARSEBOOL"  CHAR(1 BYTE),
    CONSTRAINT "METHODS_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE,
    CONSTRAINT "METHODS_HASHID" UNIQUE ("HASHID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE         DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE
  )

我了解到由于列名区分大小写而可能出现的错误,但是在SQLDeveloper或命令行中执行查询时,一切都很正常。我做错了什么?

提前谢谢你,

Siebe

EN

回答 3

Stack Overflow用户

发布于 2012-07-28 18:02:33

也许你与函数名有冲突。尝试使用双引号将列名引起来,就像在CREATE TABLE语句中一样。

票数 0
EN

Stack Overflow用户

发布于 2012-07-28 18:17:45

您正在使用的驱动程序似乎不合适...尝试使用ojdbc14.jar,它在oracle的网站上很容易找到。rest代码没问题

票数 0
EN

Stack Overflow用户

发布于 2012-07-29 13:55:17

你能试着按如下方式呼叫你的桌子吗?

代码语言:javascript
复制
        rs = st.executeQuery("SELECT METHODS.ID, METHODS.METHODNAME, 
METHODS.BEAN, METHODS.PARSEBOOL, METHODS.HASHID, METHODS.ALIAS, 
    METHODS.WEBTAB FROM DFOLSTAT.METHODS");

或者试试这个

代码语言:javascript
复制
    rs = st.executeQuery("SELECT ID, METHODNAME, BEAN, \"PARSEBOOL\", HASHID, 
ALIAS, WEBTAB FROM METHODS");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11700016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档