精华内容
下载资源
问答
  • 标识符无效

    千次阅读 2019-04-26 13:45:37
    表中存在该列,插入的时候却显示 标识符无效,使用dbsql插入报错,自己写入数据没有问题! 问题已解决(想骂人) pl/sql中如果点击小钥匙的登录按钮,改变的只是用户,没有改变执行的数据库。所以,我看到的“表中...

    表中存在该列,插入的时候却显示 标识符无效,使用dbsql插入报错,自己写入数据没有问题!

    在这里插入图片描述
    查资料发现可能和列的大小写有关。这里强调sql一定用全大写来写避免不必要的麻烦!但是我改过后发现并不是这个问题……

    问题已解决(想骂人)
    pl/sql中如果点击小钥匙的登录按钮,改变的只是用户,没有改变执行的数据库。所以,我看到的“表中存在该列”,其实是别的库中的这张表!!!!
    在这里插入图片描述

    展开全文
  • 使用oracle发生标识符无效解决办法

    万次阅读 多人点赞 2018-08-18 12:16:15
    使用oracle时,发生标识符无效解决办法 一直以来写SQL语句发生标识符无效一般多为列名写错导致 但是今天发生了一个意外的情况,在oracle数据库建了一张表,创建成功后,发现数据表的列名是小写的,想了想看过的书里面...

    使用oracle时,发生标识符无效解决办法

    1、一直以来写SQL语句发生标识符无效一般多为列名写错导致

    2、也有许多情况是使用了关键字作为了列名

    但是今天发生了一个意外的情况,在oracle数据库建了一张表,创建成功后,发现数据表的列名是小写的,想了想看过的书里面说过oracle会自动将小写转换成大写,于是就选择性忽略了.

    由于oracle会自动将我们写的SQL语句列名自动转为大写,所以平时写SQL时,采用全小写方式居多.
    但是今天我却收获到了一个错误信息

    标识符无效

    检查了好几遍,都没有发现列名有错误
    尝试了10+min进行解决,还是搞不定,百度了之后,得到的结果都是列名不一致导致,但是我检查了好几遍,都没有发现列名错误

    结合之前有了解过PostgreSQL的怪异问题 于是将SQL语句中的列名加上双引号,成功查询出数据

    得出结论:

    Oracle表字段名 SQL语句中的列名 正确性
    大写 SQL语句中大写 正确
    大写 SQL语句中小写 正确(会自动将小写转为大写)
    大写 SQL语句中小写(被引号包裹) 错误
    小写 SQL语句中大写 错误
    小写 SQL语句中小写 错误(会自动将小写转为大写)
    小写 SQL语句中小写(被引号包裹) 正确(不进行大小写转换)`

    所以当oracle数据表字段为小写时,必须使用引号("")将SQL中的列名包裹才能正确执行SQL语句.

    展开全文
  • 话题:SQL执行出错,标识符无效回答:select b.Attribute5 原合同号,b.httc 统筹,b.HTTCRDM 合同管理员 缺少逗号sh.ORDER_SHIP_DATE 实际发货日期, sh哪里来的?from appl.order_lines_all a,appl.order_headers_...

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。

    话题:SQL执行出错,标识符无效回答:select b.Attribute5 原合同号,b.httc 统筹,b.HTTCRDM 合同管理员 缺少逗号sh.ORDER_SHIP_DATE 实际发货日期, sh哪里来的?from appl.order_lines_all a,appl.order_headers_all b,appl.mtl_system_items c,APPL.RA_SITE_ADDRS_ALL RSAA,appl.products p

    参考回答:仔细一下是不是某个字段写错了话题:Ja出错提示需要标识符回答:native 就是Ja 本地类型 专门用来定义JNI(Ja native interface)方法的,你这个错误是在定义native方法法参数名错误,Ja中定义native方法参数是和普通方法一样,只是要用native修饰

    参考回答:敢问 native 这个是什么类型, 我低端话题:VC++中AppendMenu的参数IDNewItem参数回答:UIDNewltem指定新菜单项的标识符,或者当uFlags设置为MF_POPUP时,表示下拉式菜单或菜单的句柄。这个参数可选项为:MF_BITMAP:将一个位图用作菜单项。参数lpNewltem里含有该位图的句柄。MF_CHECKED:在菜单项旁边放置一个选取标记。如果应用程序提供一个选取标记,位图(参见SetMenultemBitmaps),则将选取标记位图放置在菜单项旁边。MF_DISABLED:使菜单项无效,使该项不能被选择,但不使菜单项变灰。MF_ENABLED:使菜单项有效,使该项能被选择,并使其从变灰的状态恢复。MF_GRAYED:使菜单项无效并变灰,使其不能被选择。MF_MENUBARBREAK:对菜单条的功能同MF_MENUBREAK标志。对下拉式菜单、菜单或快捷菜单,新列和旧列被垂直线分开。MF_MENUBREAK:将菜单项放置于新行(对菜单条),或新列(对下拉式菜单、菜单或快捷菜单)且无分割列。MF_OWNER:指定该菜单项为自绘制菜单项。菜单第一次显示前,拥有菜单的窗口接收一个WM_MEASUREITEM来得到菜单项的宽和高。然后,只要菜单项被修改,都将发送WM_ITEM给菜单拥有者的窗口程序。MF_POPUP:指定菜单打开一个下拉式菜单或菜单。参数uIDNewltem下拉式菜单或菜单的句柄。此标志用来给菜单条、打开一个下拉式菜单或于菜单的菜单项、菜单或快捷菜单加一个名字。MF_SEPARATOR:画一条水平分线。此标志只被下拉式菜单、菜单或快捷菜单使用。此分线不能被变灰、无效或加亮。参数IpNewltem和uIDNewltem无用。MF_STRING:指定菜单项是一个正文字符串;参数lpNewltem指向该字符串。MF_UNCHECKED:不放置选取标记在菜单项旁边(缺省)。如果应用程序提供一个选取标记位图(参见SetMenultemBitmaps),则将选取标记位图放置在菜单项旁边。

    参考回答:img src="s: pic.wenwen.soso./p/20120120/20120120143642-10501452.jpg"/搜一下:VC++中AppendMenu的参数IDNewItem参数 怎么设置啊话题:如何根据人的组id,去某一分组下的所有人回答:可以通过组id,在去查找data表就可以得到contact_id,得后就可以得到人,我有列你要的话找我

    参考回答:大神 有例最好了 刚接触android很多都摸不着头脑,网上的介绍又不是很详细。很头痛的。话题:0*000000E 蓝屏高手来解决回答:系统硬件兼容问题,换个系统就可以,我昨天才那样,换个系统就OK了。话题:我的iPHONE4为何放进去总是无效?如下回答:Model: iPhone 4 32GB Black Device ID: 020055 Repairs Service Coverage: Expired Telephone Technical Support: Expired Warranty Type: Expired Purchase Date: Validated Registered: Yes Activated: Yes Coact: Out

    参考回答:展开全部 Model: iPhone 4 32GB Black Device ID: 020055 Repairs Service Coverage: Expired Telephone Technical Support: Expired Warranty Type: Expired Purchase Date: Validated Registered: Yes Activated: Yes Coact: Out of coact lock: Locked有锁的,,先解锁吧,,,话题:Microsoft VBScript 编译器错误 (0x00A03F2)回答: 最佳此由话题者自己选择,并不知识人的观点回答:VISTA学弟3月2日1:14 由于我没有看到你的asp程序,所以我不清楚你的程序是否正确。话题:魔域cq回答:想改别人的?没用的,除非自己开F,不过..你知道这个的数据库IP的话..嘿嘿

    参考回答:打开MySQL,localhost里面有个my,打开my的库里面就有cq_eudemon,当然,魔域的库全在这里了 account:帐号 cq_ad_log:飞鸽喊话的 cq_donation_dynasort_rec爵位 cq_disdain:pk cq_dyna_rank_rec:宝宝排名 cq_dynanpc:摊位旗 城堡 占领之类的 不可清空表,只能手动修改表里的数据. cq_enemy :仇人 cq_eudemon:人物幻兽清理 cq_eudemon_timeout:灵魂血契 cq_family: cq_family_attr:同上 cq_flower:花 cq_friend:好友列表 cq_item:角色物品 cq_magic:已学技能 cq_mission:任务 cq_partner:好友合伙人 商业伴侣(如想快速成为商业伙伴,把最后一项改为数值0) cq_statistic:统计 cq_synattr:图腾 cq_syndicate:团 cq_taskdetail:任务 cq_totem_add:增加图腾 cq_tutor:师傅存储 cq_tutorEXP:师傅经验 cq_user:游戏人物

    展开全文
  • ORA-00904:"WM_CONCAT":标识符无效发布时间:2020-08-08 17:41:11来源:ITPUB博客阅读:208今天客户现场业务甩给我一个报错让处理,ora-00904:"WM_CONCAT":标识符无效。初步分析了下场景:前天因为在原先一套库要...

    ORA-00904:"WM_CONCAT":标识符无效

    发布时间:2020-08-08 17:41:11

    来源:ITPUB博客

    阅读:208

    今天客户现场业务甩给我一个报错让处理,ora-00904:"WM_CONCAT":标识符无效。

    初步分析了下场景:

    前天因为在原先一套库要删除,而他们业务用户A使用的便是该套计划删除的库,故导出A用户,导入到新环境中,expdp/impdp导入导出中均无报错。昨天在新环境给恢复成功,今天业务反映有报错,在新环境中查看确实没有该function,而老环境中有该function,但是是用户B的,猜测之前老环境是给A建立了B的synonym。

    解决方法:

    1、获取创建该函数的DDL语句,在新环境中直接创建该functionSQL> set long 999

    SQL> select dbms_metadata.get_ddl('FUNCTION','WM_CONCAT','TBCS') from dual;

    DBMS_METADATA.GET_DDL('FUNCTION','WM_CONCAT','TBCS')

    --------------------------------------------------------------------------------

    CREATE OR REPLACE EDITIONABLE FUNCTION "TBCS"."WM_CONCAT" (P1 VARCHAR2)

    RETURN clob AGGREGATE USING  WM_CONCAT_IMPL;

    执行DDL语句SQL> CREATE OR REPLACE EDITIONABLE FUNCTION "AOPEN"."WM_CONCAT" (P1 VARCHAR2) RETURN clob AGGREGATE USING  WM_CONCAT_IMPL;

    2  /

    Warning: Function created with compilation errors.

    SQL>

    此操作后,明显报错了,让业务测试,肯定测不过,查看函数是无效的SQL> select OWNER,OBJECT_NAME,SUBOBJECT_NAME,OBJECT_TYPE,LAST_DDL_TIME from dba_objects where object_name=upper('wm_concat') ;

    OWNER                OBJECT_NAME                    SUBOBJECT_NAME                 OBJECT_TYPE             LAST_DDL_TIME

    -------------------- ------------------------------ ------------------------------ ----------------------- ---------------

    A                    WM_CONCAT                                                     FUNCTION                20191121 172355

    SQL>

    2、导出function在导入新环境

    由于第一种方法不行,故考虑第二种方法,把老环境B用户的wm_concat函数迁移到新环境,测试可行否

    导出functionexpdp \'/ as sysdba \' directory=expdp_2019 dumpfile=function_wm_concat_20191121.dmp logfile=function_wm_concat_expdp_20191121.log schemas=B include=function:\"IN \'WM_CONCAT\'\"

    Export: Release 12.1.0.2.0 - Production on Thu Nov 21 17:46:38 2019

    Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

    Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

    With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics

    and Real Application Testing options

    Starting "SYS"."SYS_EXPORT_SCHEMA_02":  "/******** AS SYSDBA" directory=expdp_2019 dumpfile=function_wm_concat_20191121.dmp logfile=function_wm_concat_expdp_20191121.log schemas=B include=function:"IN 'WM_CONCAT'"

    Estimate in progress using BLOCKS method...

    Total estimation using BLOCKS method: 0 KB

    Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION

    Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION

    Master table "SYS"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded

    ******************************************************************************

    Dump file set for SYS.SYS_EXPORT_SCHEMA_02 is:

    /ora12c/oracle/dir_dump/function_wm_concat_20191121.dmp

    Job "SYS"."SYS_EXPORT_SCHEMA_02" successfully completed at Thu Nov 21 17:47:27 2019 elapsed 0 00:00:47

    导入新环境,使用户转换,由B转换为Aimpdp \'/ as sysdba \' directory=DIR_DUMP dumpfile=function_wm_concat_20191121.dmp logfile=function_wm_concat_impdp_20191121.log remap_schema=B:A

    Import: Release 12.1.0.2.0 - Production on Thu Nov 21 17:48:53 2019

    Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

    Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

    With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics

    and Real Application Testing options

    Master table "SYS"."SYS_IMPORT_FULL_01" successfully loaded/unloaded

    Starting "SYS"."SYS_IMPORT_FULL_01":  "/******** AS SYSDBA" directory=DIR_DUMP dumpfile=function_wm_concat_20191121.dmp logfile=function_wm_concat_impdp_20191121.log remap_schema=B:A

    Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION

    Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION

    ORA-39082: Object type FUNCTION:"AOPEN"."WM_CONCAT" created with compilation warnings

    Job "SYS"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Thu Nov 21 17:49:00 2019 elapsed 0 00:00:05

    查看函数状态,依旧invalidSQL> select owner,object_name,object_type ,status from dba_objects where owner not in('SYS', 'SYSTEM') AND status != 'VALID' ;

    OWNER                          OBJECT_NAME                    OBJECT_TYPE             STATUS

    ------------------------------ ------------------------------ ----------------------- -------

    A                               WM_CONCAT                      FUNCTION                INVALID

    3、手工创建该函数

    考虑到第一种方法只是创建了function,而包体等内容并没有创建,故手工创建package、body、function

    a、以sys用户创建包、包体、函数CREATE OR REPLACE TYPE WM_CONCAT_IMPL AS OBJECT

    (

    CURR_STR VARCHAR2(32767),

    STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL) RETURN NUMBER,

    MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,

    P1 IN VARCHAR2) RETURN NUMBER,

    MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,

    RETURNVALUE OUT VARCHAR2,

    FLAGS IN NUMBER)

    RETURN NUMBER,

    MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,

    SCTX2 IN WM_CONCAT_IMPL) RETURN NUMBER

    );

    b、创建类型bodyCREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL

    IS

    STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT WM_CONCAT_IMPL)

    RETURN NUMBER

    IS

    BEGIN

    SCTX := WM_CONCAT_IMPL(NULL) ;

    RETURN ODCICONST.SUCCESS;

    END;

    MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,

    P1 IN VARCHAR2)

    RETURN NUMBER

    IS

    BEGIN

    IF(CURR_STR IS NOT NULL) THEN

    CURR_STR := CURR_STR || ',' || P1;

    ELSE

    CURR_STR := P1;

    END IF;

    RETURN ODCICONST.SUCCESS;

    END;

    MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,

    RETURNVALUE OUT VARCHAR2,

    FLAGS IN NUMBER)

    RETURN NUMBER

    IS

    BEGIN

    RETURNVALUE := CURR_STR ;

    RETURN ODCICONST.SUCCESS;

    END;

    MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,

    SCTX2 IN WM_CONCAT_IMPL)

    RETURN NUMBER

    IS

    BEGIN

    IF(SCTX2.CURR_STR IS NOT NULL) THEN

    SELF.CURR_STR := SELF.CURR_STR || ',' || SCTX2.CURR_STR ;

    END IF;

    RETURN ODCICONST.SUCCESS;

    END;

    END;

    c、创建函数CREATE OR REPLACE FUNCTION wm_concat(P1 VARCHAR2) RETURN VARCHAR2 AGGREGATE USING WM_CONCAT_IMPL ;

    d、创建同义词并授权create public synonym WM_CONCAT_IMPL for sys.WM_CONCAT_IMPL

    create public synonym wm_concat for sys.wm_concat

    grant execute on WM_CONCAT_IMPL to public

    grant execute on wm_concat to public

    然后查看function状态,正常状态。至此问题解决。

    总结

    1、从网上找资料了解到,11gr2和12C上已经摒弃了wm_concat函数,而应用在程序中确使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该问题,但是注意,及时创建了该函数,在使用的过程中,也需要用to_char(wm_concat())方式,才能完全替代之前的应用。

    2、也查到了说VMSYS用户下有该函数,但是默认该用户是锁定的,此次问题我也解锁了VMSYS用户,但是并无该functionSQL> alter user WMSYS account unlock;

    User altered.

    SQL>  select owner,object_name,object_type from dba_objects where owner='WMSYS' and object_type ='FUNCTION';

    no rows selected

    3、手工重建,保留脚本以后出现类似问题可以很快速重建。

    更多相关内容:

    展开全文
  • 今天自己在家里做毕业...真不值,遇到过的问题一定要多去总结和回顾(一) ONE第一种情况可能是因为你的SQL中列名写错了,导致查询的时候,报的标识符无效。或是数据库中没有这个列名,但是你的SQL语句中有这个字段。...
  • ORACLE报标识符无效

    2020-11-25 14:50:30
    当ORACLE报ORA-00904: “DEPTNO”: 标识符无效时,看看字段名是不是写错了,或者是需要根据业务需要新增的列,但是表中没有新增,也会报标识符无效错误,可以看看表中是否没有这一列,没有的话加上就好了,还有就是...
  • oracle 插入数据是某字段名无效 oracle ORA-00904: "字段名": 标识符无效 solution:  1.字段不存在,拼写错误 2.建表示字段名有引号,drop table重建即可
  • oracle标识符无效

    2019-07-23 16:20:33
    结果显示"WeiCompleMark": 标识符无效,把双引号去掉就可以了,备注: 双引号,会将别名解析成双引号里的 内容及格式 ,一般会用在最外层的select子句中,保证列名的大小写是你想要的结果。 ...
  • ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案
  • 以下查询返回错误:ORA-00904: "C"."CHARGEDATE": invalid identifier00904. 00000 - "%s: invalid identifier"*Cause:*Action:Error en la línea: 6, columna: 58查询如下:Selectc.idChargeStation,c....
  • Oracle建表时提示标识符无效 今天用oracle建表时一直提示最后一行标识符无效,经过百度得知level是oracle的关键字,所以字段不能命名为level,后改为roadlevel, CREATE TABLE road_new ( id varchar2(20) NOT NULL...
  • 在使用oracle插入语句时,发生标识符无效解决办法 1、列名写错 2、使用了关键字作为列名 3、oracle表字段名和SQL语句中的列名有特殊的对应关系(重要),如下表所示
  • 一般情况下,标识符错误是因为:语句中的列名在表中不存在,修改sql语句或者修改列名即可。 特殊情况 一般情况下,建表语句如下: create table student( id int, name varchar2(100) ) 但是如果建表...
  • CREATEVIEWv_t_invest_backacount_sumASSELECTb.investorASinvestor,b.borrowIdASborrowId,SUM(b.realAmount)ASrealAmount,SUM(TRUNCATE(((b.realAmount/d.borrowAmount)*c.forTotalS...CREATE VIEW v_t_invest_bac....
  • 以下是错误日志:nc.vo.pubapp.pattern.exception.CarrierRuntimeException: ORA-00904: "PROJECT": 标识符无效at nc.vo.pubapp.pattern.exception.ExceptionUtils.wrappException(ExceptionUtils.java:177)at nc....
  • 文件标识符无效。使用 fopen 生成有效的文件标识符。 出错 convert1 (line 12) A = fread(fidin,inf,'int16'); % 以二进制形式读取文件的全部数据,精度为16位整型 % https://www.xuebuyuan.com/2053299.html % ...
  • Oracle数据库报错ORA-00904: 标识符无效问题解决办法,有可能是字段名或者表名写错了,也有可能是
  • 一 问题描述 用户反馈无法前台查询数据,报错500,后台查看日志如下,使用的是ibatis+oracle连接方式: 09:05:56 INFO - atomikos ... --- Cause: java.sql.SQLException: ORA-00904: "IS_DEFAULT":标识符无效 ...
  • ORA-00904: 标识符无效

    万次阅读 2019-01-24 09:31:10
    ORA-00904: 标识符无效 bug: 这个问题就是在你的mapper的sql语句中出现了与你数据库不对应的字段。 解决方案: 查看数据库中的字段与自己sql所写的字段是否对应。 希望前车之鉴,后车用得上,谢谢! ...
  • ORACLE 之 标识符无效 问题总结及解决方案
  • Oracle ORA-00904:invalid identifier 标识符无效

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 896
精华内容 358
关键字:

标识符无效