这两天一直被一个问题困扰许久,自己的数据库查询中老是报异常
信息如下
method:ytd.software.businesslogic.db.dao.XAlarmTitleInfoDao.getAllResult(Unknown Source) 查找X_AlarmTitle_Info数据异常 com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) com.microsoft.jdbc.base.BaseData.getString(Unknown Source) com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source) ytd.software.businesslogic.db.dao.XAlarmTitleInfoDao.getOneRow(Unknown Source) ytd.software.businesslogic.db.dao.XAlarmTitleInfoDao.getAllRows(Unknown Source) ytd.software.businesslogic.db.dao.XAlarmTitleInfoDao.getAllResult(Unknown Source) ytd.software.businesslogic.bo.MyLogic.XAlarmTitleInfo_getAllResult(Unknown Source) ytd.software.businesslogic.BusinessInit.loadAlmCnt(Unknown Source) ytd.software.businesslogic.BusinessInit.restartBusiness(Unknown Source) ytd.software.businesslogic.BusinessInit.beginBusiness(Unknown Source) ytd.software.businesslogic.Business.main(Unknown Source) |
其中SQL语句如下:
SELECT ID , AO_ID , Content ,AlarmCause ,AlarmCount from X_AlarmTitle_Info order by ID |
直接在数据库中执行,一切正常,但是程序执行就是报错
最后察看数据库,发现数据库中有一部分数据是空的
试着填写上数据后,异常消失了,马上意思到可能是这个问题
Google搜索上面的错误信息,终于找到了说明
原来是SQLServer中文版的Bug,只是这么多年了,难道MS都没有注意到??
我的解决方法如下:
在自己编写的工具类里添加getSQLServerText方法
/**
* 获取SQLServer数据库的文本字段
* @param myResultSet
* @param columnIdex
* @return
*/
public static String getSQLServerText(ResultSet myResultSet,int columnIdex)
{
String newString ="";
try
{
newString = myResultSet.getString(columnIdex);
}catch(SQLException e) { }
return newString;
} |
在所有可能调用getString的地方,使用这个方法替代
问题解决
分享到:
相关推荐
### Java读取SQL Server Image字段...通过以上分析,我们可以看出,使用Java读取SQL Server中的`IMAGE`字段并将其转换为图片文件是一项实用的技术。掌握这项技能对于开发能够高效处理多媒体数据的应用来说至关重要。
为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...
本主题聚焦于如何将图片存储到SQL Server数据库中,主要涉及Java编程语言进行数据库开发的相关知识。 首先,我们有几种常见的图片存储方式: 1. **BLOB(Binary Large Object)存储**:这是最直接的方法,图片以二...
本篇将详细探讨ACCESS与SQL Server数据库之间的数据转换方法,以及它们各自的特点。 ACCESS是一款轻量级、易于使用的数据库管理系统,主要面向个人用户或小型团队,适合于简单的数据管理任务。它基于Jet引擎,提供...
在本文中,我们将探讨如何使用Flex与Java对象配合,通过RemoteObject组件来连接SQL Server数据库。这对于初学者来说是一个很有价值的教程。首先,要理解一个关键点:Flex本身并不能直接连接到数据库,而是需要通过...
MBG通过读取数据库元数据,获取表的信息,包括表名、字段名、字段类型等,然后依据配置文件中的模板,生成对应的Java类和XML映射文件。这里的Java类通常包括实体Bean,代表数据库表的一行记录;DAO接口则定义了对...
3. **SQL Server数据库**:SQL Server是Microsoft公司的一款关系型数据库管理系统,支持多种数据库操作,如CRUD(创建、读取、更新、删除)。在本项目中,SQL Server用于存储工资数据,包括员工ID、姓名、部门、基本...
在Java编程中,连接SQL Server数据库通常需要使用特定的驱动程序,这就是JDBC(Java Database Connectivity)驱动。本文将深入探讨如何使用SQL Server的JDBC驱动JAR包——sqljdbc_4.0,来实现数据库的连接。 首先,...
**使用Hibernate访问SQL ...在`hbtest`这个项目中,可能包含了用于演示如何使用Hibernate连接SQL Server数据库的相关代码和配置文件。通过分析和运行这些代码,你可以更深入地了解和实践Hibernate与SQL Server的整合。
本系统基于Java编程语言与SQL Server数据库,构建了一套完整的图书借阅管理解决方案。Java以其强大的跨平台能力和丰富的类库,成为开发此类系统的理想选择;而SQL Server作为企业级的关系型数据库管理系统,能够确保...
通常,这样的工具会读取数据库中的表结构和数据,然后生成SQL脚本或特定格式的文件。 如果你正在寻找一个现成的解决方案,"dbPump"可能是一个好的起点。你可以研究其源代码,了解它是如何工作的,并从中学习如何...
在本课程设计中,我们将深入探讨如何利用SQL Server数据库管理和Java编程语言来构建一个学生信息管理系统。这个系统旨在实现对学生信息的有效存储、查询、更新和删除等操作,从而提高教育机构管理学生档案的效率。 ...
总结来说,这个Java程序实现了从SQL Server数据库中读取`text`类型字段,并将其内容保存到文件系统中的过程。关键在于正确地处理大数据量的文本,以及确保在操作文件流时的异常处理和资源管理。需要注意的是,SQL ...
本系统——"java+sqlserver的学生成绩管理系统",就是这样一个典型实例,它巧妙地融合了Java编程语言与SQLServer数据库的强大功能,为学生信息管理和成绩查询提供了便捷的平台。 Java作为一款跨平台的编程语言,以...
文章《用Java流实现对SQL Server 2000中多媒体数据的存取》主要探讨了如何利用Java语言以及JDBC/ODBC桥接口技术实现对SQL Server 2000数据库中多媒体数据字段的存取操作。本文将详细阐述以下几个关键知识点: 1. ...
4. **SQL Server数据库设计**: 数据库中通常会包含“学生”表,包括如学号、姓名、性别、年龄、专业等字段。数据库设计应遵循第三范式,确保数据的规范化,减少冗余和数据不一致。 5. **多线程处理**: 如果系统涉及...
2. **SQL查询**:编写SQL查询语句,从数据库中获取所需字段。确保选择的字段类型与XML元素或属性类型相匹配。 3. **结果集处理**:执行SQL查询后,会得到一个`ResultSet`对象。遍历这个结果集,每行数据可以视为XML...
本项目关注的是如何使用Java编程语言将数据库中的记录导出为CSV(Comma Separated Values)格式的文件。CSV因其通用性和易于处理的特性,被广泛应用于数据交换。 首先,让我们深入了解CSV文件格式。CSV是一种简单的...
在实现基于Stream流的图像存取时,文章提到了两种通过OLEDB连接SQL Server数据库的方式:一种是使用ADO对象,另一种是使用ADO控件。ADO对象通过建立一个Connection对象来访问数据库,而ADO控件则通过设置...
本文将深入探讨如何在SQL Server 2008和Oracle数据库中保存和读取图片的二进制流。 1. **二进制流**:二进制流是一种数据表示方式,允许我们处理任何类型的原始字节数据,包括图片、音频文件或视频文件。在数据库中...