我在OracleXE11g版本2数据库上获取java ResultSet时遇到问题。我正在使用Oracle驱动程序来设置ojdbc6_g.jar连接。我得到以下错误: ORA-00904:"PARSEBOOL":无效标识符
这是我的Java代码:
st = s.getConnection().createStatement();
rs = st.executeQuery("SELECT ID, METHODNAME, BEAN, PARSEBOOL, HASHID, ALIAS, WEBTAB FROM METHODS");我非常确定这是正确的,因为它在HSQLDB上测试时都能正常工作。
在SQLDeveloper中,表方法的定义如下:
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
发布于 2012-07-28 18:02:33
也许你与函数名有冲突。尝试使用双引号将列名引起来,就像在CREATE TABLE语句中一样。
发布于 2012-07-28 18:17:45
您正在使用的驱动程序似乎不合适...尝试使用ojdbc14.jar,它在oracle的网站上很容易找到。rest代码没问题
发布于 2012-07-29 13:55:17
你能试着按如下方式呼叫你的桌子吗?
rs = st.executeQuery("SELECT METHODS.ID, METHODS.METHODNAME,
METHODS.BEAN, METHODS.PARSEBOOL, METHODS.HASHID, METHODS.ALIAS,
METHODS.WEBTAB FROM DFOLSTAT.METHODS");或者试试这个
rs = st.executeQuery("SELECT ID, METHODNAME, BEAN, \"PARSEBOOL\", HASHID,
ALIAS, WEBTAB FROM METHODS");https://stackoverflow.com/questions/11700016
复制相似问题