`
ChinaHopes
  • 浏览: 14842 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

第一篇Blog!!记录关于Oraclehelper的问题。。。

阅读更多
今天费九牛二虎之力才发现一个隐藏的很深的bug。
给我一个教训:简单是最好的。

详细问题如下:

数据访问的架构是这样的:
servlet---------->sessionBean---->DAO--------------->DB
如果需要访问BLOB或者CLOB字段就有加一层帮助类如下
servlet------->sessionBean---->DAO----->OracleLobHelper---->DB
本来上面的结构访问还是比较正常的,但最近发现有些数据查不出来,其中BUG定位的血泪史就不累述了,最后发现是OracleLobHelper出现问题。

简单说,OracleLobHelper 传入的参数为 表名,哈西结构的查询参数,查询的BLOB字段名。三个。
使用hash给preparestatment参数赋值的代码如下。

private void setParameters(PreparedStatement stmt, Map keys);
		throws SQLException {
		int index = 1;
		for (Iterator i = keys.keySet();.iterator();; i.hasNext();;); {
			String keyColumn = (String); i.next();;
			stmt.setObject(index, keys.get(keyColumn););;			
			index++;
		}
	}


问题出现了:就是,当数据表中的字段(查询条件字段)“FORM_VERSION”是“NUMBER(5,1)”而从servlet传递的类型是float时就查不出数据。

以上设计看起来很精巧其实把简单问题复杂话,平白多出一层自然出错几率要多。而且调用起来一点都不方便,类内部耦合性特大,特复杂。
以后要避免类似问题,另外,该问题到底是怎么回事还是不清楚。

这个类不是我写的,嘿嘿。。。。
分享到:
评论

相关推荐

    OracleHelper oracle数据库访问 多种方式 可靠 强大

    OracleHelper 是一个专门用于访问Oracle数据库的工具或库,它为开发者提供了多种高效且可靠的数据库操作方式。在本文中,我们将深入探讨OracleHelper的核心特性、使用场景以及它如何实现对Oracle数据库的强大支持。 ...

    OracleHelper

    OracleHelper 是一个针对Oracle数据库操作的辅助类库,它的设计目标是简化开发人员与Oracle数据库之间的交互,提供一套已经预封装好的方法,用于执行常见的数据库操作,如增加(Insert)、删除(Delete)、查询...

    OracleHelper.vb

    1. **连接管理**:OracleHelper.vb提供了建立和管理数据库连接的方法。这包括创建数据库连接字符串,打开和关闭连接,以及处理连接池。连接池技术能有效减少数据库连接的创建和销毁开销,提高系统性能。 2. **命令...

    oraclehelper 数据访问类

    oraclehelper 数据访问类oraclehelper 数据访问类oraclehelper 数据访问类oraclehelper 数据访问类

    OracleHelper—数据库操作类

    OracleHelper 是一个专门为简化Oracle数据库操作而设计的类。它封装了各种常用的数据操作方法,使得开发者无需直接编写SQL语句,就能实现对数据库的增删改查等操作,极大地提高了开发效率。以下是对OracleHelper类...

    Java_OracleHelper源码

    Java_OracleHelper源码是一个专为Java开发者设计的工具类库,主要目的是简化与Oracle数据库的交互过程。这个源码库包含了一系列的辅助方法,帮助开发者执行SQL查询、更新、插入和删除操作,以及处理Oracle特有的特性...

    OracleHelper for CSharp

    OracleHelper for CSharp Like SqlHelper for CSharp

    Oraclehelper.cs

    Oraclehelper.cs,用于Oracle与c#的数据连接

    OracleHelper.cs文件

    OracleHelper.cs文件

    oraclehelper.dll

    oraclehelper.dll 用来操作oracle数据库的各种方法

    C# OracleHelper类, DbHelperOracle.cs.rar

    至于压缩包中的其他文件,"新建 XLSX 工作表.xlsx"可能包含了一些示例数据或测试用例,"1.bmp"可能是相关图表或说明图片,而"新建 PPTX 演示文稿.pptx"可能是关于如何使用OracleHelper类的教程或演示。 总结来说,...

    java下OracleHelper包

    压缩包包含如下内容:Java_OracleHelper_1_0_20071027_src.zip,Java_OracleHelper_1_0_20071027_jar.jar。更多信息可以参见文章:http://blog.csdn.net/FuWaer/archive/2007/10/27/1847475.aspx

    oraclehelper

    `OracleHelper` 类提供了一种简单高效的方式来执行常见的数据库操作。通过将这些操作封装成静态方法,可以极大地提高开发效率并减少代码重复。同时,通过对错误和异常的妥善处理,提高了程序的健壮性和可靠性。在...

    sqlhelper oraclehelper

    在.NET开发环境中,`SQLHelper` 和 `OracleHelper` 是两个常见的数据库操作辅助类,用于简化数据库访问。这两个类通常由开发者自定义实现,目的是为了提高代码的可重用性和可维护性,避免直接在业务代码中编写SQL...

    基于odp.net的oraclehelper

    对于asp.net访问oracle数据库,微软已经再支持data.oraclecliet,意见使用odp.net来访问oracle了哦。比data.oraclecliet访问数据库效率更高的odp.net,使用微软的oraclehelper改写得到

    C# OracleHelper类, DbHelperOracle.cs

    C#封装的操作Oracle数据库的帮助类,DbHelperOracle.cs

    OracleHelper.cs+System.Data.OracleClient.dll

    总的来说,"OracleHelper.cs"和"System.Data.OracleClient.dll"为ASP.NET开发者提供了一个方便、高效的方式来操作Oracle数据库,减少了与数据库交互的复杂性,提高了开发效率。然而,随着技术的发展,现在推荐使用...

    SqlHelper OracleHelper 下载

    SqlHelper和OracleHelper是.NET开发中常用的两个辅助类库,主要用于简化数据库操作,尤其是SQL Server和Oracle数据库的CRUD(创建、读取、更新、删除)操作。在.NET框架下,开发者经常使用ADO.NET来与数据库进行交互...

Global site tag (gtag.js) - Google Analytics