今天用jsp练习数据库增删改查,在调用数据库时,遇到java.sql.SQLException: ORA-00904:标识符无效 这个错误,我查看了自己的sql语句保证没有错误,然后测试将所报错误的的列名删掉还是报标识符无效,只不过又换了其他的标识符,后来百度了下,发现是,自己数据库连接错了,而且巧的是错的那个数据库也有这个表,只不过起的列名不一样,我也是醉了。以后可长点心。。。。
本文主要介绍了关于My
SQL
存储表情报错:
java
.
sql
.
SQLException
: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’的相关解决方法,分享出供大家参考学习,下面话不多说了,来一起看看详细的介绍:
本项目是基于Spring MVC + My
SQL
+ Druid DataSource。在往
数据库
插入表情Emoji字符时报错:
java
.
sql
.
SQLException
: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’
普通字符最多占用3个字节,使用utf8足够
bug信息如下:
java
.
sql
.
SQLException
:
ORA
-
00904
: "THIS_"."NAME":
标识符
无效
?
采用的是ssh+
ora
cle的操作
采用的是navicat for
ora
cle连接
ora
cle10.2
数据库
查询数据报错!
出错分析:
我在开发的项目的时候是这样做的
1、 com.csdn.domain的实体bean中添加了一
使用Navicat创建表,表中的列名有小写字母(入坑)
原因:如果使用
SQL
语句创建,语句中不分大小写,真实创建时表名,列名等都会变成大写,而Navicat中创建时,写的是啥就真的是啥了,与
SQL
语句自动转换后的大写不匹配,所以它认为
标识符
无效
。
处理:请Navicat中所有的表名,列名都改
java
.
sql
.
SQLException
:
ORA
-
00904
: :
标识符
无效
1:一般情况下应该是你
数据库
的字段与你实体类的属性没有匹配上,检查
数据库
的字段和实体类的字段,或者
数据库
连接错误
2如果有@Transient注解的字段显示报错,先检查每个使用该属性的地方的属性名是否正确,如果正确还报错(有可能是缓存造成的)可以尝试将项目从Tomcat中移除,再重新启动,让Tomcat重新编译,重...
Ora
cle
数据库
报错
ORA
-
00904
:
标识符
无效
问题解决办法
一般来说,报错
ORA
-
00904
:
标识符
无效
主要是以下两种情况:
1.可能是由于字段名或者表名写错了,一定要仔细核对代码里面的字段名与
数据库
里面的字段名是否一致;
2.也可能是字段包含了
Ora
cle的关键字,需要把报错的字段用双引号括起来或进行修改,或者如果字段较少的情况下直接把表删除重建,这样简单一些,换成符合标准的字段名。
解决办法:这是因为
Ora
cle
数据库
中创表时,表的字段名应该全是大写,或者全是小写。我的STUDENT表的学号字段写的stuID,最后一个字段是age,所以上面报错是用的A.AGE,在
数据库
中改一下就行了。(顺带说一句:
Ora
cle中创建表要用大写字母命名!!!我因为用小写字母,找了2天错,太浪费时间了。)
my
sql
执行报错:Error querying database. Cause:
java
.
sql
.
SQL
SyntaxErrorException:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with
sql
_mode=only_full_group_by
1.这个错误发生在my
sql
5.7 版本及以上版本会出现的问题:
my
sql
5.7版本默认的
sql
配置是:s
ORA
-
00904
: invalid identifier
翻译过来是
无效
标识符
有的时候,报”
ORA
-
00904
: invalid identifier
标识符
无效
“时,有可能是因为
1.你的字段在表中不存在
2.创建字段时最后一个字段加了”,"
3.创建的字段用双引号了类似于(“aaa”) 这样的
4.没有定义的变量,而在接下来的
sql
语句中引用了该变量
我这个就是传值有问题了
还遇见过的问题
这是因为在创建表的时候增加的 ‘legal_code’
把引号去掉就可以正常的创建表结构了
这个错误提示是在使用
Java
连接
Ora
cle
数据库
时出现的,它的意思是没有找到匹配的验证协议。
这个问题通常是由于
Ora
cle
数据库
的安全设置不允许使用旧的验证协议,而
Java
连接
Ora
cle
数据库
时使用的验证协议版本过低所导致的。
解决这个问题的方法是更新
Java
连接
Ora
cle
数据库
时使用的验证协议版本,或者在
Ora
cle
数据库
中允许使用旧的验证协议。具体的解决方法需要根据具体的情况进行调整。