ORA-00904: "T_MSG_LIST"."F_SENDTIME": 标识符无效   
T_MSG_LIST   ...... 
             ...... 
              F_SENDTIME   datetime 
高手帮着看一下,怎么回事呀

解决方案 »

  1.   

    案例学习Oracle错误:ORA-00904
    2007-10-27 18:04:00查看学习心得 
    ORA-00904 invalid column name  ORA-00904: 无效的列名  Cause The column name entered is either missing or invalid.  Action Enter a valid column name. A valid column name must begin with a letter, be less than or equal to 30 characters, and consist of only alphanumeric characters and the special characters $, _, and #. If it contains other characters, it must be enclosed in double quotation s. It may not be a reserved word.  原因:列丢失或无效列名。  方案:输入有效的列名。一个有效的列名必须是以字母开头,小于30个字符,并且只包含字母、数字或一些特殊的符号$,_,#。如果还包含其它的字符,那么这段字符必须用双引号引起来。列名不能是关键字。  案例一:创建表时出现的问题  问题描述:  SQL> DESC S_CUSTOMER;  名称 是否为空? 类型  -----------------------------------------  id NOT NULL NUMBER(7)  name NOT NULL VARCHAR2(50)  phone VARCHAR2(25)  address VARCHAR2(400)  city VARCHAR2(30)  state VARCHAR2(20)  country VARCHAR2(30)  zip_code VARCHAR2(75)  credit_rating VARCHAR2(9)  sales_rep_id NUMBER(7)  region_id NUMBER(7)  comments VARCHAR2(255)  但是当我SELECT的时候总是报错:  SQL> SELECT ID FROM S_CUSTOMER;  SELECT ID FROM S_CUSTOMER  *  ERROR 位于第 1 行:  ORA-00904: "ID": 无效的标识符  怎么会这样呢?  解决方案:ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。你创建表的语句加了双引号的吗?估计是PD类似的工具创建的脚本吧?  看下面的例子  SQL> create table test ("id" number not null);  表已创建。  SQL> select ID FROM test;  select ID FROM test  *  ERROR 位于第 1 行:  ORA-00904: "ID": 无效的标识符  SQL> select id from test;  select id from test  *  ERROR 位于第 1 行:  ORA-00904: "ID": 无效的标识符  SQL> desc test;  名称 是否为空? 类型  ----------------------------------------- -------- ------------  id NOT NULL NUMBER  SQL> select "id" from test;  未选定行  SQL>  案例二:  环境:solaris+oracle  问题:exp时遇到  EXP-00008: ORACLE error 904 encountered  ORA-00904: invalid column name  EXP-00000: Export terminated unsuccessfully  提供的情况:wcs组使用java,所以判断是java的问题。ora-00904时oracle的一个bug。  所以需要使用errorstack来追踪错误。执行  alter system set events='904 trace name errorstack';  然后到udump下查看trace文件。发现是exu8jbqu这个view的问题。  alter system set events='904 trace name errorstack off';  查看exu8jbqu是否存在:  select owner,object_name,object_type,object_id,status  from dba_objects where object_name='exu8jbqu';  发现存在。重新执行$ORACLE_HOME/rdbms/admin/catexp.sql 创建视图。  重新执行exp成功。问题解决。