一个极其奇怪的错误(A component named Field58 already exists!!)

chsl918 2006-08-21 09:33:04
建库语句:
CREATE TABLE sheetbalance
(proid NUMBER(10,0) NOT NULL,
year DATE NOT NULL,
field1 NUMBER(20,2),
field2 NUMBER(20,2),
field3 NUMBER(20,2),
field4 NUMBER(20,2),
field5 NUMBER(20,2),
field6 NUMBER(20,2),
field7 NUMBER(20,2),
field8 NUMBER(20,2),
field9 NUMBER(20,2),
field10 NUMBER(20,2),
field11 NUMBER(20,2),
field12 NUMBER(20,2),
field13 NUMBER(20,2),
field14 NUMBER(20,2),
field15 NUMBER(20,2),
group1 NUMBER(20,2),
group2 NUMBER(20,2),
field16 NUMBER(20,2),
field17 NUMBER(20,2),
field19 NUMBER(20,2),
field20 NUMBER(20,2),
field21 NUMBER(20,2),
group3 NUMBER(20,2),
field22 NUMBER(20,2),
field23 NUMBER(20,2),
field24 NUMBER(20,2),
field58 NUMBER(20,2),
field59 NUMBER(20,2),
field60 NUMBER(20,2),
field61 NUMBER(20,2),
field62 NUMBER(20,2),
field63 NUMBER(20,2),
field64 NUMBER(20,2),
group15 NUMBER(20,2),
field65 NUMBER(20,2),
field66 NUMBER(20,2),
field67 NUMBER(20,2),
field68 NUMBER(20,2),
group16 NUMBER(20,2),
field69 NUMBER(20,2),
group17 NUMBER(20,2),
field70 NUMBER(20,2),
field71 NUMBER(20,2),
field72 NUMBER(20,2),
field73 NUMBER(20,2),
field74 NUMBER(20,2),
field75 NUMBER(20,2),
field76 NUMBER(20,2),
field77 NUMBER(20,2),
field78 NUMBER(20,2),
field79 NUMBER(20,2),
field80 NUMBER(20,2),
field81 NUMBER(20,2),
field82 NUMBER(20,2),
field83 NUMBER(20,2),
field84 NUMBER(20,2),
group18 NUMBER(20,2),
field85 NUMBER(20,2),
field86 NUMBER(20,2),
field87 NUMBER(20,2),
field88 NUMBER(20,2),
field89 NUMBER(20,2),
group19 NUMBER(20,2),
group20 NUMBER(20,2),
field90 NUMBER(20,2),
field91 NUMBER(20,2),
field92 NUMBER(20,2),
field93 NUMBER(20,2),
field94 NUMBER(20,2),
field95 NUMBER(20,2),
field96 NUMBER(20,2),
field97 NUMBER(20,2),
field98 NUMBER(20,2),
field99 NUMBER(20,2))
PCTFREE 10
INITRANS 1
MAXTRANS 255
TABLESPACE gcqp_data
STORAGE (
INITIAL 65536
MINEXTENTS 1
MAXEXTENTS 2147483645
)
/

ALTER TABLE sheetbalance
ADD CONSTRAINT pk_sheetbalance PRIMARY KEY (proid, year)
USING INDEX
PCTFREE 10
INITRANS 2
MAXTRANS 255
TABLESPACE gcqp_data
STORAGE (
INITIAL 65536
MINEXTENTS 1
MAXEXTENTS 2147483645
)
/

建表没有问题。查询的语句为:

SELECT proid, year, field1, field2, field3, field4, field5, field6,
field7, field8, field9, field10, field11, field12, field13,
field14, field15, group1, group2, field16, field17, field19,
field20, field21, group3, field22, field23, field24, field58,
field59, field60, field61, field62, field63, field64, group15,
field65, field66, field67, field68, group16, field69, group17,
field70, field71, field72, field73, field74, field75, field76,
field77, field78, field79, field80, field81, field82, field83,
field84, group18, field85, field86, field87, field88, field89,
group19, group20, field90, field91, field92, field93, field94,
field95, field96, field97, field98, field99
FROM sheetbalance
如果上面的Select没有 field58至field67就可以查询。
但是下面的语句也可以查询:
SELECT field58,
field59, field60, field61, field62, field63, field64, group15,
field65, field66, field67
FROM sheetbalance

另外这个表的字段名是通过DotNet程序生成的。所以表名是这种样子。这个表最开始就proid, year连个字段,后面的字段都是程序加入的。加入Sql语句如下:
alter Table sheetbalance add(FIELD[数字] Number(20,2))/
在生成的时候没有遇到问题,但是在查询的时候就提出A component named Field58 already exists错误,而不能查询。

这个问题我已经在DotNet论坛上提出,并已经结贴,解决办法是将出问题的字段删除重新建立。
地址:http://community.csdn.net/Expert/topic/4959/4959458.xml?temp=.5213434
可是没有从根本上解决我的问题。因为随着系统的运行,还将建立新的字段。可是我重新建立字段后发现问题依然存在。还要重建写字段才可以查询整个表。
另外我的Oracle的版本是9.2
请高手赐教!!
...全文
711 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chsl918 2006-08-22
  • 打赏
  • 举报
回复
谢谢各位,我的错误找到了。用SQL Navigater 4.2就会出现这个问题。但是用SQL*PULS就没有问题。用程序控制也没有问题。呵呵呵,看来是SQL Navigater4.2的毛病了。呵呵呵,谢谢各位,还有帮我测试的朋友。结帐了。
chsl918 2006-08-21
  • 打赏
  • 举报
回复
谢谢各位。这个表虽然不是用SQL Navigater 建立的,但是后来的测试表使用SQL Navigater 建立的。
另外既然xiaoxiao1984(笨猫儿^_^) 在机器上测试了没有这个问题。那么说明我的Oracle有问题了。谢谢各位。
xiaoxiao1984 2006-08-21
  • 打赏
  • 举报
回复
SQL> select *from v$version ;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production

我在本机测试了一下,没有楼主说的问题,都可以查询,上面是版本号
wiler 2006-08-21
  • 打赏
  • 举报
回复
我想问一下,这个表是不是用Sql Navigater 4.2建立的?
chsl918 2006-08-21
  • 打赏
  • 举报
回复
如果你有Oracle9i的话,用上面的建表语句就可以建立一个表。然后再用查询语句应当就可以看到错误了。我在两个Oracle上(服务器不同,Oracle版本相同)都出现了这个错误。
我想也许是Oracle的错误,也许是Sql Navigater 4.2的错误,不过我现在还真的解决不了,请各位高手帮忙!!
chsl918 2006-08-21
  • 打赏
  • 举报
回复
不好意思,因为我使用Sql Navigater 4.2控制Oracle的。那个里面没有给出错误号,所以我还不知道如何看错误号,楼上的能否给我一个看错误号的方法?谢谢,
zhui_meng 2006-08-21
  • 打赏
  • 举报
回复
你还是把错误的详细信息写出来吧,但凭你描述真的很难想像
manyroads 2006-08-21
  • 打赏
  • 举报
回复
错误号是什么
wiler 2006-08-21
  • 打赏
  • 举报
回复
我也测试了你的代码,也没问题,我的数据库版本是 9.2.0
所以我才问是否DotNet建立的表,因为有一次我用Dts从Sql Server导数据到
oracle顺带建表,完成后竟然看不到这个表

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧