文章目录
注意:正式库慎重使用
问题
遇到插入数据库中文字段提示错误,开始在中文表字段加上双引号在plsql不报错,在dbeaver中还是报错,提示标识符无效,在java代码生成sql同样报错,插入不好使。
解决方法
查询当前服务器段字符集:
select userenv('language') from dual
修改oracle的字符集为ZHS16GBK,最开始为UTF-8。
管理员身份登录数据库
sqlplus /nolog
管理员连接:
SQL> connect /as sysdba
关闭数据库
SQL> shutdow immediate
挂载方式启动
SQL> startup mount
修改会话,进程
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
打开数据库
SQL> alter database open;
修改字符集
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
关闭
SQL> shutdown immediate;
重启
SQL> startup
再次查询字符集
select userenv('language') from dual
修改ok,则执行代码sql:
INSERT INTO BRXX ("工作单位", "姓名", "婚姻状况") VALUES ('','CESHI','未婚')
执行ok,不加双引号也ok。