加载中…
  
博文
用过svn的人经常会遇到这样的错误:
很多人怀疑是权限问题,尤其是在apache+subversion的环境中,经常由于svn的目录不是apache用户的或者没有相应的权限,确实会报这样的错误。如果已经通过chown命令把svn目录修改为apache用户的了,而且也通过chmod命令修改权限为755甚至777了,但访问的时候,还是报:

标签:

oracle

ora-01722

invalidnumber

原因

分类: Java技术
网上看到很多有关ORA-01722: invalid number问题的分析,我这里遇到的基本没有描述,所以把我遇到的情况描述分享给大家,希望有帮助。
我的情况:
数据库表中有一个varchar2类型的字段,里边可能包含数字或用逗号分隔的数据,如3或4,5这样的值,查询时,只传入了一个数字,也就是不带逗号的参数。因此sql语句类似这样:
select * from ct where nos = 3
语句本身一看就知道会出问题,因为3没加引号,会被当作数字处理。这样就肯定会报ORA-01722: invalid number的错误:
SQL Error: 1722, SQLState: 42000
ORA-01722: invalid number

但在用hibernate时,为了避免数字问题,我们经常会这样写hsql语句:
String sql = 'select * from ctEntity as ct where ct.Nos = ''+no+''';
当传入参数no为‘4,5’时,可能不会报错,但当no为'4'或'5'时,也就是单个数字时,就会报错了。经过打印hibernate的语句,发现单个数字时,hibernate会把上述语句转
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有