背景:
系统包括单点登录模块,存在多个数据库,有mysql和oracle
状况:
用户说登录系统没有反映。
查错:
用户的名字里包含大写X,登录时,用户使用的是小写x,单点登录时,mysql检查通过(未区分大小写),到了使用oracle的系统,检查该用户不存在。报错,未捕捉异常。
解决:
1、修改mysql表的该字段为大小写敏感
2、修改程序,对错误进行捕捉。
处理字段:
[NATIONAL] VARCHAR(M) [BINARY]
M的范围是1 ~ 255个字符。
VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。
VARCHAR是CHARACTER VARYING一个缩写。
或者处理配置文件:
在MySQL的配置文件my.ini中增加一行:
lower_case_table_names = 0 phperz~com
其中 0:区分大小写,1:不区分大小写