DB2 所有数据库表、表字段注释乱码问题的排查及解决方案

问题背景:自2015年以来,国家项目测试平台 DB2 所有表的表名、表字段等中文注释均开始存在乱码问题,严重影响开发人员对于数据库表含义的理解(特别是在数据库设计文档缺乏的情况下)。

本文记录了解决该历史遗留问题的相关步骤,总结遇到的坑,最后提出解决该问题的方案。

本文所涉及到的环境

  • 测试服务器:10.1.3.3:60000/NECC_GJR

    • CentOS release 6.3 (Final)
    • DB2 Express-C 10.1
  • 线上服务器:10.30.22.16:60000/NECC_DB
    • SUSE Linux Enterprise Server 11 SP2 (x86_64)
    • DB2 Enterprise Server Edition 10.1
  • 本地服务器:192.168.56.101:50000/NECC_DB
    • Oracle VM VirtualBox 5.0.16
    • openSUSE Leap 42.1
    • DB2 Express-C 10.5.7
  • 其他客户端软件
    • Toad for DB2 Freeware 5.6
    • Xshell 5

数据库中文数据的情况

  1. 线上数据库情况

中文数据显示,Xshell 正常

db2 => select name from sys_role

NAME --------------------------------------------------
政府查看员
政府管理员
政府审计员
政府安全员
业务管理员 

 5 record(s) selected.
  1. 测试服务器情况

中文数据显示,Xshell 乱码

db2 => select name from sys_role

NAME --------------------------------------------------
·дþ				
时间: 2024-07-31 11:49:53

DB2 所有数据库表、表字段注释乱码问题的排查及解决方案的相关文章

如何通过SQL语句修改MSSQL数据库的表字段类型?

ALTER TABLE [news] ALTER COLUMN id int 注:自动增长没试过,你可以在后面增加NOT NULL PRIMARY KEY以及auto_increment试试,即:ALTER TABLE [news] ALTER COLUMN id int not null auto_increment primary key 此方法适用于Access数据库,mssql没试过 mysql则可以用ALTER TABLE `news` CHANGE `id` `id` INT( 11

DedeCMS dede_channeltype表字段注释_php技巧

这是我花了一些时间整理出来的,但是还是有几个字段不清楚,希望知道的朋友们,告诉我! Dede_channeltype id 频道ID nid 识别ID typename 模型名字 maintable 主表 addtable 附加表 addcon 档案发布程序 mancon editcon 档案修改程序 useraddcon 前台会员发布程序 usermancon 前台会员管理程序 usereditcon 前台会员修改程序 fieldset listfields 列表附加字段 addfields

link中的主从数据库表如何实现动态数据同步的功能?

问题描述 link中的主从数据库表如何实现动态数据同步的功能? link中的主从数据库表如何实现动态数据同步的功能? 解决方案 http://www.cnblogs.com/yjmyzz/archive/2009/06/14/1502921.html

oracle 数据库 表的关系图有什么软件可以显示

问题描述 oracle 数据库 表的关系图有什么软件可以显示 oracle 数据库 表的关系图有什么软件可以显示 oracle 数据库 表的关系图有什么软件可以显示oracle 数据库 表的关系图有什么软件可以显示 解决方案 在pl/sql7.0中 新建一个Diagram Window,然后把有关系的表用鼠标左键拖到这个窗口中 解决方案二: 可以用VISIO ... 解决方案三: 可以用VISIO ... 解决方案四: 可以用PowerDesigner 解决方案五: PowerDesigner

oracle10g 导入之前备份的资料dmp到数据库的时候中文出现乱码,怎么解决?

问题描述 RT.oracle10g 导入之前备份的资料dmp到数据库的时候中文出现乱码,怎么解决? 解决方案 可以参考下 http://wzy126126.iteye.com/blog/964271解决方案二:数据格式和数据库格式不对应吧

数据库表字段命名规范

数据库表字段命名规范   摘要:当前研发工作中经常出现因数据库表.数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备.   一.数据库命名规范

如何得到数据库中所有表字段及字段中文描述

数据|数据库|中文 如何得到数据库中所有表字段及字段中文描述以下资料,通过csdn的一位师兄从SQL版主那得到:sql中SELECT (case when a.colorder=1 then d.name else '' end) N'表名', a.colorder N'字段序号', a.name N'字段名', (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识', (case whe

如何在Sql2008中获取表字段属性和注释

  如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id and a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.id and a.[name]='列名' and c.[name]='表名' SELECT 表名=case when

android sqlite数据库表字段更新

问题描述 android sqlite数据库表字段更新 android sqlite数据库表字段更新,调用onUpgrade方法出现了Can't upgrade read-only database from version 3 to 4: 异常,有哪个大神碰到过或者知道怎么解决. 代码: public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = " alter table pe