在数据查询时,java的ResultSet接口的public String getString(String columnName)方法抛出异常。
案例分析思路:
应用抛出异常,首先要看应用是否有不合理的地方,比如查询的列值类型是不是有错误,或是没有列供getString来检索值。在都排除了上述问题后,决定写Test测试类。
写个简单的测试类来实现应用中一样的查询,看是否也会报异常。这个方法很直接,可以说花很少的代价就可以得到足够的信息,具体的执行方法可以先在IDE中编写好测试类,然后通过粘贴拷贝将测试类写到远程机器上。
发现测试类也抛出了异常。在确定不是应用的同时,可以认定为是数据的问题。将查询的表中所有数据都删除,再执行测试类,发现没有任何异常。最后锁定为是数据的问题。在询问了数据插入人员后,原来这条数据是开发人员手动insert到表中,所有可以能字符集转换的问题。于是通过将出问题的数据行将其中的中文删除,只留英文,因为英文不存在编码问题,测试通过。
最后确定为插入数据时没有指定数据库使用的字符集,应用使用LANG=zh_CN 和DB2CODEPAGE= 1386的设置,这样中文就不会产生乱码问题。
另,此类问题可以简单的使用DB2提供的函数hex来检查,中文是否是正确的字符集。
分享到:
相关推荐
在DB2中配置GBK字符集,是为了确保数据库能够正确地存储和检索中文数据。 1. **安装与配置** - 安装DB2时,需确保选择支持GBK的版本,通常这可以通过定制安装或指定特定的字符集选项来实现。 - 配置DB2实例的全局...
15. 错误代码01569:+339 01569暗示可能存在与DB2 2.2版本子系统的字符转换问题,需要检查字符集配置。 16. 错误代码01629和01628:涉及优化提示的使用,可能提示无效或不支持的优化选项。 17. 错误代码01521至...
DB2 错误代码大全是一个包含常见 DB2 错误代码及其相应中文信息的文档。该文档提供了大量的 DB2 错误代码信息,涵盖了从 SQL 语句成功完成到各种错误情况的代码说明。 以下是 DB2 错误代码大全中的一些重要知识点:...
- **描述**: 在处理字符数据时,字符集不匹配或不支持。 ### 46. SUBPAGES参数错误(+65801600) - **SQLCODE**: +65801600 - **SQLSTATE**: 无 - **描述**: 在使用SUBPAGES参数时,值不正确或缺失。 ### 47. ...
8. **DB2Globalization-db2nlsc1010.pdf** - 关于DB2的全球化支持,详细讨论了多语言环境下的数据库操作,包括字符集、排序规则、日期时间格式等。 9. **DB2DataMovement-db2dmc1010.pdf** - 数据迁移和复制是...
4. **DB2DevEmbeddedSQL-db2a1c1050.pdf**:嵌入式SQL的开发指南,主要讲述如何在C、C++等编程语言中使用SQL语句,以及如何处理结果集和错误处理。这对于编写与DB2交互的应用程序至关重要。 5. **DB2...
在DB2中,中文排序通常依赖于字符集和排序规则(collation)。当使用默认设置时,这些生僻字可能会被错误地排序,导致查询结果不准确。具体到本例中,“泸”和“汶”等汉字在排序时没有按照预期的方式排列,这可能是...
本文档主要介绍了DB2的一些常用技术,包括字符集配置、显示数据库配置信息、错误代码查询、执行存储过程、清空表、UNION与UNION ALL的区别、EXCEPT ALL的使用、INTERSECT的使用、赋权语句以及左关联查询和存储过程中...
当SQL语句执行后,DB2会返回一个SQLCODE,通过这个值我们可以判断SQL语句是否成功执行,还是遇到了某种错误或警告。 **SQLState**:SQLState是一个五位字符组成的代码,用于进一步细化SQLCODE的信息,帮助我们理解...
2. **DB2Globalization-db2nlsc970.pdf** - 讨论了DB2如何处理多语言环境下的全球化问题,包括字符集支持、国际化日期和时间格式、本地化资源和全球化服务,为全球部署提供指导。 3. **DB2InstallingConnectSrv-db2...
- **示例**: `db2createdb using codeset IBM-eucCN territory CN` 支持中文字符集。 **5. 删除数据库** - **命令**: `db2dropdb <数据库名>` - **功能**: 删除指定的数据库。 - **注意事项**: 在执行该操作前,...
字符集和地域的选择对于后续处理中文数据至关重要。 #### 三、创建缓冲池 缓冲池(Bufferpool)是DB2数据库中的一个重要概念,它用于管理内存中数据页的缓存。通过合理配置缓冲池可以显著提高数据库性能。 1. **创建...
它详细解释了如何使DB2适应不同地域的语言需求,实现全球化应用,比如设置正确的字符集以处理中文、日文等非ASCII字符,以及在多语言环境中进行查询和排序的策略。 《开发用户定义的例程(SQL和外部例程).pdf》: 这...
- 方法:在创建数据库时,指定支持中文字符集的编码格式,如`GB18030`。 - **1.4.16 db2select * from …类似这样含有特殊字符的语句在Linux/Unix平台下,执行总是提示错误** - 原因分析:特殊字符可能导致SQL...
尽管DB2OLEDB可能没有中文版,但其基本功能应该包含创建和管理连接字符串,这对于配置C#应用程序连接DB2至关重要。 使用DB2OLEDB工具,开发者通常需要进行以下步骤: 1. **安装DB2OLEDB**:首先,下载并安装DB2OLE...
不同的编码页对应不同的字符集,例如1208代表简体中文GB2312编码。 --- #### 十二、描述表结构 **命令:** ```sh db2 describe table <表名> ``` **描述:** 用于查看指定表的结构信息,包括列名、数据类型等。这...
推荐使用UTF-8或GBK字符集建立数据库。 5. **保存书签返回SQL错误(-302, SQLSTATE 22001)** 当使用关系型数据库作为Repository时,保存复杂书签时,可能会遇到SQL错误。解决办法有两个: - 使用`...
- 在`/etc/sysconfig/i18n`中设置正确的字符集,如`LANG="zh_CN.GB18030"`,解决中文乱码问题。 这些命令和操作对于日常的Linux系统管理和数据库维护工作至关重要,熟练掌握它们可以提高工作效率,确保系统的稳定...
- 确保数据库和操作系统都支持中文字符集。 - 使用正确的字符集编码。 - 测试中文字段的处理逻辑,确保无误。 #### 四、Extract拆分方法 - 可以根据不同的表或表空间来拆分Extract进程。 - 适用于高并发场景,以...