访问数据库的设备、系统和方法技术方案

技术编号:2842563 阅读:139 留言:0更新日期:2012-04-11 18:40
公开一种访问数据库的设备、系统和方法。请求属性模块根据属性数据库构成在请求块中接收的数据值名称的请求属性列表,其中请求块是对目标数据库的询问,并且未被格式化成目标数据库的查询语句。请求属性列表把数据值名称与属性名称和模式名称关联起来。响应模式名称未被包括在模式名称列表中,模式名称模块把来自请求属性列表的模式名称增加到模式名称列表中。响应属性名称未被包括在属性名称列表中,属性名称模块把来自请求属性列表的属性名称增加到属性名称列表中。查询模块根据模式名称列表和属性名称列表,建立指向目标数据库的查询语句。

【技术实现步骤摘要】

本专利技术涉及访问目标数据库,更具体地说,涉及利用未被格式化为数据库查询语句的询问访问目标数据库。
技术介绍
数据库被用于保存公司和个人的大量信息。例如,商业数据库可保存某一公司的多个客户的客户记录,以及与每个客户相关的多个事务。典型的数据库利用多种模式来组织。例如,数据库可被组织成一个或多个表,具有一个或多个表视图。另外,本领域的技术人员众所周知,所述表和视图可包含一个或多个列或属性,以及一个或多个行。数据库的模式可包含表、视图等。数据库数据的用户通常希望只访问数据库数据的子集。另外,用户可能希望用针对所选信息的便利结构组织访问的子集,尽管所述便利结构可能完全不同于数据库。用户一般采用查询语句指令数据库应用访问和组织目标数据库数据。查询语句可指定要访问的数据子集,将对访问的数据执行的操作,和/或访问数据的输出结构。查询语句的一个例子是结构化查询语言(“SQL”)语句。许多数据库应用,包括Armonk,New York的国际商用机器公司(“IBM”)的DB2TMProduct Family使用各种的SQL语句。查询语句可被直接传送给数据库应用或者并入用于访问数据库的进程中。例如,公用事业公司的用户可通过执行账单打印处理,从数据库打印公用事业客户的账单。账单打印处理可使用一个或多个SQL语句访问具有待结款项的当前客户和过去客户的数据,计算当前余额,并用易读的结构打印每个客户的姓名、地址、账号和余额。不幸的是,除了数据库应用之外,许多另外的软件应用也需要访问目标数据库。例如,用C、C++、Java、Cobol等编写的软件应用,和/或通信格式,比如可扩展置标语言(“XML”)和超文本标记语言(“HTML”)可能需要访问目标数据库。然而,这些软件应用和请求不能容易地创建访问目标数据库所需的查询语句。根据上面所述,显然需要一种利用未被格式化成目标数据库查询语句的请求,访问目标数据库的设备、系统和方法。有利的是,这样的设备、系统和方法会是访问目标数据库的多个软件应用和通信格式。
技术实现思路
鉴于本领域的当前状态,尤其是鉴于本领域中还未被当前可用的数据库访问方法完全解决的问题和需要,提出了本专利技术。因此,本专利技术提供一种克服本领域中的许多或全部上述缺陷的。访问数据库的设备具有多个模块,所述多个模块被配置成在功能上执行构成请求属性列表、把模式和/或表格名称增加到模式名称列表中、把属性名称增加到属性名称列表中和根据模式名称列表与属性名称列表建立查询语句的必要步骤。描述的实施例中的这些模块包括请求属性模块,模式名称模块,属性名称模块和查询建立模块。另外,所述设备包括查询执行模块和变换模块。请求块被配置成对目标数据库的询问。请求块包括数据值名称,并且未被格式化成目标数据库的查询语句。请求属性模块构成数据值名称的请求属性列表。在一个实施例中,请求属性模块利用属性数据库构成请求属性列表。请求属性列表把数据值名称与来自属性数据库的属性名称和模式名称关联起来。响应模式名称未被包括在模式名称列表中,模式名称模块把来自请求属性列表的模式名称增加到模式名称列表中。另外,响应属性名称未被包括在属性名称列表中,属性名称模块把来自请求属性列表的属性名称增加到属性名称列表中。查询建立模块根据模式名称列表和属性名称列表建立指向目标数据库的查询语句。在一个实施例中,查询语句是SQL语句。在某一实施例中,查询建立模块以采用属性名称和模式名称的SELECT语句的形式建立SQL语句。在一个实施例中,查询执行模块执行查询语句。查询执行模块可把该查询语句提交给目标数据库的数据库应用。另外,变换模块可把执行查询语句得到的结果变换成请求块指定的格式。响应由请求块具体体现的询问,应用访问目标数据库,尽管请求块未被格式化成查询语句。另外本专利技术还提供一种访问数据库的系统。所述系统可用数据库系统具体体现。特别地,在一个实施例中,所述系统包括目标数据库,属性数据库,请求属性模块,模式名称模块,属性名称模块,查询建立模块和查询执行模块。数据库利用由模式和表格定义的结构保存数据。例如,数据库可被组织成可以一个或多个视图的形式访问的一个或多个表格。每个表格可被组织成多个属性或列和行。属性数据库把数据值名称与属性名称和模式名称关联起来。例如,属性数据库可把数据值名称“surname”与表格中的属性名称“last name”和模式名称“customers”关联起来。软件应用可把请求块传送给系统。对于在请求块中接收的数据值名称,请求属性模块根据属性数据库构成请求属性列表,其中请求块是对目标数据库的询问,并且未被格式化成对目标数据库的查询语句。响应模式名称未被包括在模式名称列表中,模式名称模块把来自请求属性列表的模式名称增加到模式名称列表中。响应属性名称未被包括在属性名称列表中,属性名称模块把来自请求属性列表的属性名称增加到属性名称列表中。查询模块根据模式名称列表和属性名称列表建立指向目标数据库的查询语句。执行模块执行所述查询语句,访问目标数据库。响应请求块,系统创建和执行查询语句,允许软件应用访问数据库。本专利技术还提供一种访问数据库的方法。在公开的实施例中,所述方法主要包括为实现上面关于所述设备和系统的操作给出的功能而需要的步骤。在一个实施例中,所述方法包括构成请求属性列表,把模式名称增加到模式名称列表中,把属性名称增加到属性名称列表中,和根据模式名称列表与属性名称列表建立查询语句。对于在请求块中接收的数据值名称,请求属性模块根据属性数据库构成请求属性列表,其中请求块是对目标数据库的询问,并且未被格式化成对目标数据库的查询语句。请求属性列表把数据值名称与来自属性数据库的属性名称和模式名称关联起来。响应模式名称未被包括在模式名称列表中,模式名称模块把来自请求属性列表的模式名称增加到模式名称列表中。响应属性名称未被包括在属性名称列表中,属性名称模块把来自请求属性列表的属性名称增加到属性名称列表中。查询模块根据模式名称列表和属性名称列表建立指向目标数据库的查询语句。所述方法访问目标数据库。本说明书内对特征、优点或者类似语言的引用并不意味着可由本专利技术实现的所有特征和优点应在本专利技术的任何单个实施例中。相反,提及特征和优点的语言被理解为意谓关于一个实施例描述的具体特征、优点或特性包括在本专利技术的至少一个实施例中。从而,在本说明书内,特征和优点以及类似语言的讨论可以(但是不是必定)指的都是相同实施例。此外,在一个或多个实施例中,可按照任何适当的方式组合本专利技术的所述特征、优点和特性。但是,相关领域的技术人员会认识到可在没有特定实施例的一个或多个具体特征或优点的情况下实践本专利技术。在其它情况下,可在一些实施例中认识到在未在本专利技术的所有实施例中给出的另外的特征和优点。本专利技术的实施例响应未被格式化成数据库查询语句的请求块,访问目标数据库。另外,本专利技术的实施例允许多个非数据库软件应用访问目标数据库。根据下面的说明和附加权利要求,本专利技术的这些特征和优点将变得更明显,或者通过如下所述的本专利技术的实践,可了解本专利技术的这些特征和优点。附图说明为了便于理解本专利技术的优点,将参考在附图中图解说明的具体实施例,给出上面简要说明的本专利技术的更具体描述。这些附图只描述本专利技术的典型实施例,不应被视为对本专利技术范围的限制,通过利用附图本文档来自技高网
...

【技术保护点】
一种访问数据库的设备,所述设备包括:请求属性模块,被配置成构成在请求块中接收的数据值名称的请求属性列表,其中请求块是对目标数据库的询问,并且未被格式化成目标数据库的查询语句;模式名称模块,被配置成响应模式名称未被包括在模式名 称列表中,把来自请求属性列表的模式名称增加到模式名称列表中;属性名称模块,被配置成响应属性名称未被包括在属性名称列表中,把来自请求属性列表的属性名称增加到属性名称列表中;和查询建立模块,被配置成根据模式名称列表和属性名称列表 ,建立指向目标数据库的查询语句。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:布赖恩P道伊尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1