`
thomas0988
  • 浏览: 472747 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
社区版块
存档分类
最新评论

java中读取sql server数据库空字段异常的bug

阅读更多
  这两天一直被一个问题困扰许久,自己的数据库查询中老是报异常
     信息如下
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读取sqlserver image字段.docx

    java读取sqlserver image字段.docx

    kettle通过java代码将数据库blob 字段抽取到本地文件

    kettle通过java代码将数据库blob 字段抽取到本地文件

    用JAVA来实现对数据库中信息的增删改查.rtf

    用JAVA来实现对数据库中信息的增删改查

    JAVA读取Excel,建库建表,并生成java实体.rar

    JAVA读取Excel表格,建数据库建表,并生成java实体实例,这一篇通过JAVA读取Excel,将Excel表结构同步到数据库中,并生成java实体类。与上一篇类似,这里只介绍类说明,具体实现,可查看源码。 源码: ...

    Java实现从数据库导出大量数据记录并保存到文件的方法

    主要介绍了Java实现从数据库导出大量数据记录并保存到文件的方法,涉及Java针对数据库的读取及文件写入等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Graph:通过从 SQL Server 读取数据来创建和遍历图网络

    此代码从 SQL Server 数据库读取一组弧并将其放入邻接数组数据结构中,以便轻松找到进出每个节点的弧。 该图向后(弧进入节点)和向前(弧出节点)遍历。 该数据集来自马萨诸塞州阿灵顿镇的美国人口普查和美国...

    数据库设计和自动安装工具BDB V2.2(for Oracle/MS SQLServer/MySQL/Access/SQLAnywhere/Sybase)

    <br>此外、在BDB中提供了对开发语言的支持、 其数据库结构定义文件采用XML标准格式、 并且开放了外部读取数据库结构的源程序(C#/Delphi/JAVA)、 您可以通过使用BDB来简化软件开发和部署过程: <br>1...

    java sqlserver text 类型字段读取方法

    有这样一个需求,需要将原本存储在数据库中的文档转存至文件系统中,于是写了一个简单的程序完成此功能

    java连接数据库课程设计(1).doc

    完成SQL " "SERVER或MYSQL数据库管理系统的安装,配置,JAVA数据库访问环境的配置;完 " "成数据库表的建立,记录插入等;建立用户表,包含用户名、密码字段;利用JA" "VA实现图形界面,用户登录验证,进入软件运行...

    dbswitch工具提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步

    数据同步:基于JDBC的分批次读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。支持有主键表的 增量变更同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量的性能尚需在生产...

    Oracle导Mysql适用于百、千万级别数据迁移

    使用人员可以指定迁移数据库类型 如:(orcal,sqlServer,csv 迁移至mysql) 2.在迁移数据库时,可以只迁移指定字段. 3.开发多任务的平台,按权重去执行任务,如:权重为1,1,2,3,4 那么1,1的权重一起执行,执行完毕后2 ...

    JAVA网络通信系统的研究与开发的设计

    应用了计算机网络通信技术和JAVA网络编程的基础知识,以JAVA为平台,利用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发出的基于Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计,是...

    oracle数据库经典题目

    游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。支持一条、多条、零条记录的处理。 游标的基本操作步骤为: (1)声明游标,使用查询来定义游标的列和行 (2)打开游标,使用PL/...

    Java面试宝典2020修订版V1.0.1.doc

    35、MySQL、SqlServer、oracle写出字符存储、字符串转时间 52 36、update语句可以修改结果集中的数据吗? 53 37、oracle如何设置主键自动增长? 53 38、表连接、子查询的区别是什么?它们可以相互转化吗?你倾向于用...

    asp.net知识库

    在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...

    ASP200问.EXE

    86.如何用ASP备份和恢复SQL Server数据库 88.如何将图像存入到数据库中 89.如何从数据库中调用显示图像 90.如何用ASP读取Excel文件 91.怎样将数据从Excel导入到SQL Server中 92.怎样将数据从Access导入到SQL Server...

    jdbc基础和参考

    ORM:使用元数据信息来描述对象和数据库之间的关系,并且能够自动实现java中持久化对象到关系型数据库中表的映射 脏检查:自动对缓存中的数据进行检查,并且选择在合适的时机和数据库之间进行交互,以保持数据的...

    表结构设计器(EZDML) V1.91

    4. 导入数据库:导入数据库中的已有对象,即所谓的逆向工程(支持ORACLE、MYSQL、SQLSERVER和ODBC); 5. 生成数据库:可生成直接创建数据库的SQL脚本;也可与现有数据库比较,然后生成同步脚本的功能,不至于丢失...

Global site tag (gtag.js) - Google Analytics