通过数据访问层生成器,为具有存储过程的关系型数据存储的中间层自动生成数据访问层的系统和方法。数据访问层生成器可以使用可扩展标记语言扩展(XML)来确定通常向访问层展示的存储过程。这样的安排可以促进关系型数据库中使用存储过程的数据访问。而且,关于数据库的信息可以存储在一个位置中,来降低这样的信息与维护在中间层的信息不同步的风险。
【技术实现步骤摘要】
本专利技术一般涉及使用存储过程从数据库访问数据,尤其涉及通过分析这样的存储过程来自动生成数据访问层的系统和方法。
技术介绍
计算机技术的进步(例如,微处理器速度、存储器容量、数据传送带宽、软件功能等)极大地促进了各个行业中的计算机应用程序的增长。通常被配置为服务器阵列的功能日益增强的服务器系统通常被提供来例如服务源于诸如万维网等外部资源的请求。由于可用电子数据的数量的增长,以促进用户友好且快速的数据搜索和检索的可管理方式存储这样的数据更为重要。当今,常见的方法是在一个或多个数据库中存储电子数据。一般而言,典型的数据库可以被称为带有数据的信息的有组织的集合,这些数据被结构化以使计算机程序能够例如快速地搜索和选取所需的数据片段。传统上,通过一张或多张表来组织数据库内的数据,其中各张表含有一组记录,一个记录包括一组字段。在表中,记录通常被索引为行,而记录字段通常被索引为列,使得索引的行/列对可以引用表中的一个特定数据。目前,世界上极大多数数据库是基于关系型数据模型的,且访问通常由SQL(结构化查询语言)标准的变体主导。SQL是可以被用来询问和处理关系型数据库中的数据的语言,且许多公司在SQL兼容的数据库中维护组织、产品和顾客数据,SQL兼容的数据库最初被开发来与大型机结合使用,现在大多数数据库管理系统(DBMS)一般为支持SQL的客户机/服务器环境设计的。数据库管理系统的主要应用当然是管理数据的存储、排列和检索;然而,为了向管理系统提供各种能力,通常希望使用存储过程或预定义的函数,数据库管理系统可使用它们来完成提供的功能。数据库管理员常常使用“存储过程”来适应查询搜索,存储过程是其中仅有小部分(例如,参数)可变的内置查询。例如,存储过程可以被定义来标识拥有特定邮政编码的经营场所的顾客。从而,用户只需输入邮政编码的值来获取查询结果。换言之,用户可以访问存储过程并传递所需邮政编码作为标识的参数。通常,使用存储过程具有多种便利,包括功能封装、性能增强、客户机-服务器处理以及安全性。一般而言,存储过程可以采用任何数量的参数,这些参数在这些过程内定义。存储过程也可以用于添加、更新信息或从一个或多个数据库中移除信息。同样,在数据库应用程序的开发过程中,开发员一般在数据库中创建存储过程,然后为应用程序的中间层编写数据访问层组件的代码,应用程序的中间层可以用于调用存储过程且收集之后可以在被传递到中间层的较高层中的调用者的任何结果。创建这样的数据访问层的进程涉及复制已存在于数据库中的各种信息的代码。然而,由于当复制时可能会引入错误或引起维护问题,一般这样的方法是低效且冗余的。另外,如果对存储过程的改变没有伴随对数据访问层的类似改变,应用程序将不能正确地操作。而且,精确地确定存储过程中改变了什么以及更新数据访问层代码是既冗长又易于出错的。从而,存在克服与常规系统和设备相关联的前述示例性不足的需求。
技术实现思路
以下提供了本专利技术的简化概述,以提供对本专利技术的一个或多个方面的基本理解。该概述不是本专利技术的广泛概观。它既不旨在标识本专利技术的关键或重要的元素,也不描绘本专利技术的范围。相反,该概述的唯一目的是以简化的形式呈现本专利技术的某些概念,作为之后呈现的更详细描述的序言。本专利技术提供根据存储过程的定义通过数据访问层生成器为关系型数据库应用程序的中间层自动生成数据访问层的系统和方法。这样的安排促进了关系型数据库中使用存储过程的数据访问。从而,关于数据库的信息可以被存储在一个位置中,且降低了这样的信息与维护在中间层中的信息不同步的风险。根据本专利技术的方法,来自可扩展标记语言扩展(XML)配置文件的数据可以由数据访问层类生成器使用,来确定通常展示给访问层的存储过程。作为结果,XML文件可以作为向数据库描述应用程序编程接口(API)的声明文件,并提供例如需要向API展示的存储过程的列表。另外,这样的XML文件可以提供总体上可能不能从数据库中容易地访问到的信息,诸如结果集的名称(如果存储过程的确返回这样的结果集)。结果集也可以含有能够自动设置的与之相关联的逻辑主键。在相关方面中,XML配置文件也可以含有关于编码约定的信息,使得参数可以从事务结构化查询语言(SQL)基础上转化为.NET架构。从而,生成的代码可以恰当地匹配由中间层编程语言使用的编程约定,即使生成的代码作为基础的存储过程使用不同的编程约定。例如,用于基于SQL的存储过程的参数的命名约定可以不同于通常在中间层编程语言中使用的命名约定。基于XML配置文件,基于SQL的参数名称可以被自动地转化为适用于中间层编程语言的命名约定。例如,本专利技术能够生成能够定义数据访问类的C#TM代码,其中,为获取可操作的系统,中间源文件的剩余部分可以被添加/编译并部署给服务器。这样并且基于部署,该系统可以包括数据库、含有由数据访问层生成器自动生成的数据访问层的中间层(数据访问层可以提供与数据库的通信,其中中间层支持一般可以提供网络服务和HTTP服务能力的因特网信息服务(IIS))。用户然后可以使用web浏览器来浏览运行服务器端脚本环境(例如,活动服务器页面)的web服务器(例如,IIS)主存的网页,以调用进一步调用数据库中的数据访问层和存储过程的中间层商业逻辑组件。这样的存储过程可以返回结果集和/或可替换地执行某些有用的边际效应(例如,插入、更新或删除数据)而一般无需返回任何结果集。根据本专利技术的又一方法,最初XML配置文件可以被剖析和相关来确定数据访问层类生成器该如何生成类。这些可以包括,例如将要检查的数据库的标识、用于生成结果的总规范、关于可以通过数据访问层访问的存储过程的信息等。下一步,可以从数据库中检索信息,且可以生成可以包括用于事务支持的典型代码和用于在数据访问层中打开数据库的代码的引导码。如果存储过程返回一个或多个结果集(例如,实际返回了数据),那么可以从数据库中取出关于这样的存储过程的元数据。之后可以使用用于调用存储过程的命令对象生成匹配这些存储过程的参数的类型的参数。接着,生成的代码可以创建数据集和数据适配器。数据适配器可以被用来使用调用存储过程的结果来填充数据集。下一步,可以生成方法头来返回表示该数据集的值。在无结果集合返回的存储过程的相关方面中,最初元数据可以从关于存储过程的数据库中获得,且然后可以使用匹配存储过程的参数类型的参数来生成方法。下一步,生成的方法的主体可以创建用于调用存储过程的命令对象,且为存储过程创建匹配从数据库中获取的元数据信息的参数。为了完成前述和相关目的,本专利技术因此包含之后完全描述的特征。以下描述和附图详细描述了本专利技术的说明性方面。然而,这些方法仅示出可在其中使用本专利技术的原理的多种方式中的一些。当结合附图考虑阅读以下本专利技术的详细描述时,本专利技术的其它方面、优点和新颖特征会变得明显。附图说明图1示出了根据本专利技术的方面自动生成数据访问层的数据访问层类生成器。图2示出了根据本专利技术的方面使用可扩展标记(XML)配置文件和数据库的存储过程来生成数据访问层的数据访问层生成器。图3a、3b和3c示出了根据本专利技术的方面生成数据访问层类的方法。图4示出了根据本专利技术的方面使用数据访问层类生成器的部署的系统。图5示出了根据本专利技术的方面作为多层结构中的一部分的与web服务器通信的web浏览器,多层本文档来自技高网...
【技术保护点】
一种促进对数据库的数据访问的系统,包括:基于配置文件和数据库中的存储过程自动生成数据访问层的生成器;以及使用所述数据访问层来访问所述数据库的中间层组件。
【技术特征摘要】
US 2005-1-12 11/033,6461.一种促进对数据库的数据访问的系统,包括基于配置文件和数据库中的存储过程自动生成数据访问层的生成器;以及使用所述数据访问层来访问所述数据库的中间层组件。2.如权利要求1所述的系统,其特征在于,所述配置文件是用作描述应用程序编程接口(API)的声明文件的可扩展标记语言(XML)文件。3.如权利要求2所述的系统,其特征在于,所述XML配置还包括将参数从事务结构化查询语言(SQL)基础转化为.NET架构的编码约定。4.如权利要求3所述的系统,其特征在于,还包括对SQL和.NET架构之间的差距建立连接的代码。5.如权利要求4所述的系统,其特征在于,所述代码是C#TM代码。6.一种访问数据库的方法,包括由数据类生成器剖析XML配置文件;将所述文件中的数据与存储在所述数据库中的存储过程协调;以及由所述数据类生成器自动生成中间层的数据访问层。7.如权利要求6所述的方法,其特征在于,还包括访问所述数据库中间层。8.如权利要求6所述的方法,其特征在于,还包括生成代码来创建调用所述数据库中的存储过程的命令。9.如权利要求6所述的方法,其特征在于,还包括从所述数据库...
【专利技术属性】
技术研发人员:BN范伯格,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。