毕业设计基于RFID的库存管理系统_第1页
毕业设计基于RFID的库存管理系统_第2页
毕业设计基于RFID的库存管理系统_第3页
毕业设计基于RFID的库存管理系统_第4页
毕业设计基于RFID的库存管理系统_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于RFID的库存管理系统Inventory Management System Based on RFID摘要射频识别(Radio Frequency Identification, RFID)作为一种快速、实时、准确采集与处理信息的高新枝术和信息标准化的基础,被列为本世纪十人重要技术之一。RFID技术已逐渐成为企业提高物流供应链管理水平,降低成本,企业管理信息化,参与国际经济大循环,增强企业核心竞争力不可缺少的技术工具和手段。本文首先介绍了了RFID的系统组成,工作原理,发展历史,技术标准现状以及RFID在管理中的应用。然后通过对ODBC和JDBC的讨论,确定了两种中间件的特点。本文利用

2、JBuilder 9.0,SQL Server 2000,JDBC设计了基于RFID的库存管理系统。该系统分为登陆模块,查询模块,出库模块,入库模块。 文中详细列出了各个模块的程序流程图,完成带有RFID的货物在库存中的流动模拟。其中程序的核心部分是实现了数据库的建立和针对数据库的查询等操作。本文的最后列写出了对于发展前景的展望。关键词:RFID,库存管理,JDBC,SQL Server 2000AbstractAs a speedy, real-time, accurate information collection and procession technology Radio Freq

3、uency Identification has been ranked as one of the most important technology in this century. RFID has gradually become a necessary technological means for manufacture to improve supply chain management, reduce cost, realize management information, joins in international economy circle, strength ent

4、erprises core compatibility.In this article, author first introduced RFIDs making up, working principle, improving history, the technical standard actuality and the application in the management. Then by discussing ODBC and JDBC, the author found out the characters of these two databases. In this ar

5、ticle, author using JBuilder9.0, SQL Server 2000, JDBC designed a warehouse management system based on RFID. This system is made up with the login module, query module, shipment module. The flowcharts of these modules are detailed listed and the processes of the goods which are with RFID flowing in

6、the warehouses are simulated. The core part of this system is the connection with the database and the operation such as query with he database.In the end, author listed the prospect of the development of RFID.Keyboard: RFID,Inventory management,JDBC,SQL Server 2000 目录摘要2ABSTRACT31选题背景51.1 RFID简介51.

7、2 RFID发展历史51.3 RFID的系统组成61.4 RFID工作原理61.5 RFID技术标准现状71.6 RFID在管理中的应用102 库存管理系统方法论证122.1 ODBC122.2 JDBC132.3 ODBC和JDBC的比较193. RFID库存管理系统设计过程213.1管理系统设计前提213.2程序使用的软件工具213.3数据库类型的选定223.4数据库的建立和连接233.5系统流程254. 总结与展望40致谢41参考文献:421选题背景1.1 RFID简介RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作

8、于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。 埃森哲实验室首席科学家弗格森认为RFID是一种突破性的技术:"第一,可以识别单个的非常具体的物体,而不是像条形码那样只能识别一类物体;第二,其采用无线电射频,可以透过外部材料读取数据,而条形码必须靠激光来读取信息;第三,可以同时对多个物体进行识读,而条形码只能一个一个地读。此外,储存的信息量也非常大。11.2 RFID发展历史 RFID技术的发展最早可以追溯至第二次世界大战时期,那时它被用来在空中作战行动中进行敌我识别。从历史上看,RFID技术的发展基本可按10年期划分为几个阶段(参见表1)。因此RF

9、ID并不是一个崭新的技术。从分类上看,因为经过多年的发展,13.56MHz以下的RFID技术已相对成熟,目前业界最关注的是位于中高频段的RFID技术,特别是860MHz960MHz(UHF频段)的远距离RFID技术发展最快;而2.45GHz和5.8GHz频段由于产品拥挤,易受干扰,技术相对复杂,其相关的研究和应用仍处于探索的阶段。表1-1 RFID技术发展的历程表 时间 RFID技术发展 1941-1950年 雷达的改进和应用催生了RFID技术,1948年奠定了RFID技术的理论基础。 1951-1960年 早期RFID技术的探索阶段,主要处于实验室实验研究。 196l-1970年 RFID技

10、术的理论得到了发展,开始了一些应用尝试。 1971-1980年 RFID技术与产品研发处于一个大发展时期,各种RFID技术测试得到加速。出现了一些最早的RFID应用。 1981-1990年 RFID技术及产品进入商业应用阶段,各种封闭系统应用开始出现。 1991-2000年 RFID技术标准化问题日趋得到重视,RFID产品得到广泛采用。 2001-今 标准化问题日趋为人们所重视,RFID产品种类更加丰富,有源电子标签、无源电子标签及半无源电子标签均得到发展,电子标签成本不断降低。 1.3 RFID的系统组成一个典型的RFID系统一般由RFID标签、读写器以及计算机系统等部分组成。其中RFID标

11、签中一般保存有约定格式的编码数据,用以唯一标识标签所附着的物体。与传统的识别方式相比,RFID技术无需直接接触、无需光学可视、无需人工干预即可完成信息输入和处理,且操作方便快捷。能够广泛应用于生产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理等需要收集和处理数据的应用领域,并被认为是条形码标签的未来替代品。 在具体的应用过程中,根据不同的目的和环境,RFID系统的组成会有所不同,但从其工作原理来看,系统一般都由信号发射机、信号接收机、发射接收天线三部分组成。(1) 信号发射机:在RFID 系统中,信号发射机为了不同的应用目的,会以不同的形式存在,典型的形式是标签。标签相当于条形码技术中的

12、条形码符号,用来存储需要识别传输的信息。另外,与条形码不同的是,标签必须能够自动或在外力的作用下,把存储的信息主动发射出去。标签一般是带有线圈、天线、存储器与控制系统的低电集成电路。(2) 信号接收机:RFID系统中,信号接收机一般叫做阅读器。阅读器基本的功能就是提供与标签进行数据传输的途径。另外,阅读器还提供相当复杂的信号状态控制、奇偶错误校验与更正功能等。(3) 发射接收天线:天线是标签与阅读器之间传输数据的发射、接收装置。RFID技术用于需要跟踪众多货物资源、而人手又有限的仓库管理中是非常现实的。因为RFID系统基于人们熟悉的Windows 或UNIX 平台,所以通常易于管理。1.4 R

13、FID工作原理RFID系统的工作原理:读写器通过天线发送出一定频率的射频信号;当RFID标签进入读写器工作场时,其天线产生感应电流,从而RFID标签获得能量被激活并向读写器发送出自身编码等信息;读写器接收到来自标签的载波信号,对接收的信号进行解调和解码后送至计算机主机进行处理;计算机系统根据逻辑运算判断该标签的合法性,针对不同的设定做出相应的处理和控制,发出指令信号;RFID标签的数据解调部分从接收到的射频脉冲中解调出数据并送到控制逻辑,控制逻辑接收指令完成存储、发送数据或其他操作。21.5 RFID技术标准现状 1.5.1 ISO制定的RFID标准体系RFID标准化工作最早可以追溯到20世纪

14、90年代。1995年国际标准化组织ISO/IEC联合技术委员会JTCl设立了子委员会SC31(以下简称SC31),负责RFID标准化研究工作。SC31委员会由来自各个国家的代表组成,如英国的BSI IST34委员、欧洲CEN TC225成员。他们既是各大公司内部咨询者,也是不同公司利益的代表者。因此在ISO标准化制定过程中,有企业、区域标准化组织和国家三个层次的利益代表者。SC31子委员会负责RFID标准可以分为四个方面:数据标准(如编码标准ISO/IEC 15691、数据协议ISO/IEC 15692、ISO/IEC 15693,解决了应用程序、标签和空中接口多样性的要求,提供了一套通用的通

15、信机制)、空中接口标准(ISO/IEC 18000系列)、测试标准(性能测试ISO/IEC 18047和一致性测试标准ISO/IEC 18046)、实时定位(RTLS)(ISO/IEC 24730系列应用接口与空中接口通信标准)方面的标准。 这些标准涉及到RFID标签、空中接口、测试标准、读写器与到应用程序之间的数据协议,它们考虑的是所有应用领域的共性要求。ISO对于RFID的应用标准是由应用相关的子委员会制定。RFID在物流供应链领域中的应用方面标准由ISO TC 122/104 联合工作组负责制定, 包括ISO17358应用要求、ISO 17363货运集装箱、ISO 17364装载单元、I

16、SO 17365运输单元、ISO 17366产品包装、ISO 17367产品标签。RFID在动物追踪方面的标准由ISO TC 23 SC19来制定,包括ISO 11784/11785动物RFID畜牧业的应用,ISO 14223动物RFID畜牧业的应用-高级标签的空中接口、协议定义。从ISO制订的RFID标准内容来说,RFID应用标准是在RFID编码、空中接口协议、读写器协议等基础标准之上,针对不同使用对象,确定了使用条件、标签尺寸、标签粘贴位置、数据内容格式、使用频段等方面特定应用要求的具体规范,同时也包括数据的完整性、人工识别等其他一些要求。通用标准提供了一个基本框架,应用标准是对它的补充和

17、具体规定。这一标准制订思想,既保证了RFID技术具有互通与互操作性,又兼顾了应用领域的特点,能够很好地满足应用领域的具体要求。1.5.2 EPCgloba l 制定的RFID标准体系与ISO 通用性RFID标准相比,EPCglobal标准体系是面向物流供应链领域,可以看成是一个应用标准。EPCglobal的目标是解决供应链的透明性和追踪性,透明性和追踪性是指供应链各环节中所有合作伙伴都能够了解单件物品的相关信息,如位置、生产日期信息。为此EPCglobal制定了EPC编码标准,它可以实现对所有物品提供单件惟一标识;也制定了空中接口协议、读写器协议。这些协议与ISO标准体系类似。在空中接口协议方

18、面,目前EPCglobal的策略尽量与ISO兼容,如C1Gen2 UHF RFID标准递交ISO将成为ISO 18000 6C标准。但EPCglobal空中接口协议有它的局限范围,仅仅关注UHF 860930MHz。除了信息采集以外,EPCglobal非常强调供应链各方之间的信息共享,为此制定了信息共享的物联网相关标准,包括EPC中间件规范、对象名解析服务ONS(Object Naming Service)、物理标记语言(PhysicalMarkup Language)。这样从信息的发布、信息资源的组织管理、信息服务的发现以及大量访问之间的协调等方面作出规定。“物联网”的信息量和信息访问规模大

19、大超过普通的因特网。“物联网”系列标准是根据自身的特点参照因特网标准制订的。“物联网”是基于因特网的,与因特网具有良好的兼容性。物联网标准是EPCglobal所特有的,ISO仅仅考虑自动身份识别与数据采集的相关标准,数据采集以后如何处理、共享并没有作规定。物联网是未来的一个目标,对当前应用系统建设来说具有指导意义。1.5.3 日本UID制定的RFID标准体系日本泛在中心制定RFID相关标准的思路类似于EPCglobal,目标也是构建一个完整的标准体系,编码体系、空中接口协议到泛在网络体系结构,但是每一个部分的具体内容存在差异。为了制定具有自主知识产权的RFID标准,在编码方面制定了ucode编

20、码体系,它能够兼容日本已有的编码体系,同时也能兼容国际其他的编码体系。在空中接口方面积极参与ISO的标准制定工作,也尽量考虑与ISO相关标准兼容。在信息共享方面主要依赖于日本的泛在网络它可以独立于因特网实现信息的共享。泛在网络与EPCglobal的物联网还是有区别的。EPC采用业务链的方式,面向企业,面向产品信息的流动(物联网),比较强调与互联网的结合。UID采用扁平式信息采集分析方式,强调信息的获取与分析,比较强调前端的微型化与集成。1.5.4 三大标准体系空中接口协议的比较目前,ISO/IEC 18000、EPCglobal、日本UID三个空中接口协议正在完善中。这三个标准相互之间并不兼容

21、,主要差别在通讯方式、防冲突协议和数据格式这三个方面,在技术上差距其实并不大。这三个标准都按照RFID的工作频率分为多个部分。在这些频段中,以13。56MHz频段的产品最为成熟,处于860960MHz内的UHF频段的产品因为工作距离远且最可能成为全球通用的频段而最受重视,发展最快。ISO/IEC 18000标准是最早开始制定的关于RFID的国际标准,按频段被划分为7个部分。目前支持ISO/IEC 18000标准的RFID 产品最多。EPCglobal是由UCC 和EAN两大组织联合成立、吸收了麻省理工AutoID中心的研究成果后推出的系列标准草案。EPCGlobal最重视UHF频段的RFID产

22、品,极力推广基于EPC编码标准的RFID产品。目前,EPC Global标准的推广和发展十分迅速,许多大公司如沃尔玛等都是EPC标准的支持者。日本的泛在中心(Ubiquitous ID)一直致力于本国标准的RFID产品开发和推广,拒绝采用美国的EPC编码标准。与美国大力发展UHF频段RFID不同的是,日本对2。4GHz 微波频段的RFID似乎更加青睐,目前日本已经开始了许多2。4GHz RFID产品的实验和推广工作。标准的制定面临越来越多的知识产权纠纷。不同的企业都想为自己的利益努力。同时,EPC在努力成为ISO的标准,ISO最终如何接受EPC的RFID标准,还有待观望。全球标准的不统一,硬件

23、产品的兼容方面必然不理想,阻碍应用。31.6 RFID在管理中的应用电子标签因为其具有防冲撞性、封装任意性、使用寿命长、可重复利用等特点,适合应用于现在科学的库存管理系统中。 现在的库存管理系统通常使用条码标签或是人工库存管理单据书写等方式支持自有的库存管理。但是条码的易复制、不防污、不防潮等特点,还有人工书写单据的烦琐性,容易造成人为损失等无法避免的缺点,使得现在国内的库存管理供应链始终存在着缺陷。随着电子标签这一最新科技产品的投入应用,可以从根本上解决上述的问题。用电子标签支持现今的库存管理系统的优势在于:   有效管理货物装箱作业。(减少损失) &

24、#160; 信息收集自动化。   产品来源之核对。   每阶段制程中产品品质之稽核。   可更改电子标签上的资料 而无须更改产品包装。   有效管理装货(减少丢失)。   自动化结果便能更有效品质监督。   可以全程跟踪库存货物的物流情况,将损失和失误降低到最低点。下面是国内外常见的RFID管理的应用:1.6.1 车辆自动识别管理高速公路自动收费系统是RFID 技术最成功的应用之一。目前ETC(Electr

25、onic Toll Collection,不停车收费系统)是世界上最先进的路桥收费方式。当安装在车辆上的车载电子标签进收费站时,收费站上的无线射频装置会自动激活车载电子标签,并完成相互间的认证识别过程,能将有关车辆信息输入计算机收费处理系统,同时利用计算机联网技术与银行进行结算,完成费用的收缴工作,从而达到无需停车即可交纳路桥费的目的。ETC 是国际上正在努力开发并推广的一种用于公路、大桥和隧道的电子自动收费系统。该技术在国外已有较长的发展历史,美国、欧洲等许多国家和地区的电子收费系统已经局部联网并逐步形成规模效益。41.6.2仓储管理将RFID 系统用于智能仓库货物管理,有效地解决了仓库与货

26、物流动有关的信息管理。它不但增加了一天内处理货物的件数,而且还监看这些货物的一切信息。射频天线安置在仓库相关的各个部位和货物所通过的仓库大门边上,每辆叉车上都有读写器和天线,每个货物都贴有电子标签,所有电子标签信息都被存储在仓库的中心计算机里,该货物的有关信息都能在计算机里查到。当货物被装走运往别处时,相关的读写器就能识别并告知计算中心它被放在哪辆拖车上。这样,管理中心可以实时地了解到已经入库了多少货物和发送了多少货物或者货物在仓库转移的情况,并可自动识别货物,确定货物的位置。2 库存管理系统方法论证为了有利于库存系统的webserver发布,这里使用的编程工具为java。库存管理最重要,最核

27、心的部分是与数据库的连接与对数据库的操作。这里我们使用的 SQL Server 2000 数据库软件。这里涉及到一个ODBC和JDBC的问题,下面我们来论述下这两种数据库的优缺点。2.1 ODBC 2.1.1 ODBC简介O D B C 的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据ODBC 的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的DBMS 采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。 ODBC 出现以后,用户安装不同的DBMS 驱动就可用同样的SQL 语句实现在不同DBMS 上进行同样的操作,而且无需预编译。ODB

28、C 带来了数据库连接方式的变革。在传统方式中,开发人员要熟悉多个D B M S 及其API ,一旦DBMS 端出现变动,则往往导致用户端系统重新编建或者源代码的修改,这给开发和维护工作带来了很大困难。在ODBC 方式中,不管底层网络环境如何,也无论采用何种DBMS,用户在程序中都使用同一套标准代码,无需逐个了解各DBMS 及其API 的特点,源程序不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。2.1.2 ODBC的特点:(1) 使用户程序有很高的互操作性,相同的目标代码适用于不同的D B M S 。(2) 由于ODBC 的开放性,它为程序集成提供了便利,为客户机/

29、 服务器结构提供了技术支持。(3) 由于应用与底层网络环境和DBMS 分开,简化了开发维护上的困难。2.1.3 ODBC 的体系结构和实现O D B C 是依靠分层结构来实现的,如此可保证其标准性和开放性。它共分为四层:应用程序、驱动程序管理器、驱动程序和数据源。下面我们详细介绍各层的功能。(1) 应用程序层(Application)使用ODBC 接口的应用程序可执行以下任务: 1)请求与数据源的连接和会话(SQLConnect);2)向数据源发送SQL 请求(SQLExecDirct 或SQLExecute); 3)对SQL 请求的结果定义存储区和数据格式;4)请求结果;5)处理错误;6)如

30、果需要,把结果返回给用户; 7)对事务进行控制,请求执行或回退操作(SQLTransact); 8)终止对数据源的连接(SQLDisconnect)。(2) 驱动程序管理器(Driver Manager) 由微软提供的驱动程序管理器是带有输入库的动态连接库ODBC。DLL ,其主要目的是装入驱动程序,此外还执行以下工作: 1)处理几个ODBC 初始化调用; 2)为每一个驱动程序提供ODBC 函数入口点; 3)为O D B C 调用提供参数和次序验证。(3) 驱动程序(Driver) 驱动程序是实现ODBC 函数和数据源交互的DLL,当应用程序调用SQL Connect 或者SQLDriverC

31、onnect 函数时,驱动程序管理器装入相应的驱动程序,它对来自应用程序的ODBC 函数调用进行应答,按照其要求执行以下任务: 1)建立与数据源的连接; 2)向数据源提交请求; 3)在应用程序需求时,转换数据格式; 4)返回结果给应用程序; 5)将运行错误格式化为标准代码返回; 6)在需要时说明和处理光标。(4) 数据源52.2 JDBC 2.2.1 JDBC简介JDBC(Java Database Connectivity ,Java 数据库连接) 作为Java 平台的一个标准组成部分,是根据“与平台无关”的基本原则而设计的,对独立于数据库的跨平台的数据库访问提供了有力的技术支持。JDBC

32、是Java 程序连接和访问各种数据库的API(Application Programming Interface ,应用程序接口) ,它由一组类和接口构成,通过调用这些类和接口所提供的方法,提供了Java 程序与各种数据库服务器之间的连接服务,它支持ANSI SQL - 92 标准,实现了从Java 程序内调用标准的SQL 命令对数据库进行查询、插入、删除和更新等操作,并确保数据事务的正常进行。JDBC 在J2EE 平台中使用JDBC 2.0以上的API 以及JDBC 2.0 扩展API ,它们提供了在企业级开发应用中对异构数据库的连接和跨平台数据库访问的重要接口。2.2.2 JDBC 的体系

33、结构和实现(1) Java作为数据库前台 在信息时代,数据库是用于收集和处理数据的工具,数据库形成了许多公司基础结构的基础。尽管数据库系统非常适合数据的存储和取得,但人类需要某种前台应有程序以查阅和使用存放的数据。Java对建立数据库服务器前台应用程序的开发人员提供了几个好处。Java是“一旦写成,到处运行”的语言,即Java程序不经改变即可部署到任何运行Java虚拟机的计算机结构和操作系统。对于大公司,有一个公用开发平台好处很大,编程人员可以不再为大公司中的各个平台分别编程。Java也很吸引第三方开发者,单个Java程序即可满足大公司客户的需求。建立公司系统中基于Java的应用程序和小程序的

34、动力是巨大的。公司对于将结构和操作系统相关模型变成针对网络的模型相当有兴趣。Java代表着节约资源成本的长期战略。对于开发人员,Java代表巨大的市场机会。大中型企业很少不用数据库进行业务工作的,大部分公司将数据库应用到业务的各个方面,从人事资源到前线客户销售。(2) JDBC APIJDBC API使开发者不必不断重写程序而可以建立数据库前台。尽管ANSI委员会有个标准组,但每个数据库系统厂家的系统连接和通讯方法仍然五花八门。为了建立健全独立于平台的应用程序和基于Web的小程序,开发人员应考虑用Java开发前台连接办法。从外部看,第三方软件开发者通过专用办法,通过本地方法集成客户机方库或通过

35、建立第三层和新协议来满足这种需求。JavaSoft是Sun公司负责开发Java产品的业务单位,和数据库与数据库工具厂家一起建立独立于DBMS的机制,使开发人员不必考虑所用的特定数据库而编写客户机方应用程序。产生的JDBC API第一版是核心JDK 2的一部分。JDBC向应用程序开发者提供了独立于数据库的统一的API。这个API提供了编写的标准和考虑所有不同应用程序设计的标准。其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。应用程序编写一次并移植到各种驱动程序上。应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,

36、也称中间件(middleware)。除了向开发者提供统一的独立于DBMS的框架外,JDBC还提供了让开发者保持数据库厂家提供的特定功能的办法。JDBC驱动程序必须支持ANSI AQL-2项目层,但JDBC允许开发者直接将查询字符串传递到连接的驱动程序。这些字段可能是ANSI SQL也可能不是,或者根本不是AQL。这些字符串的使用是基础驱动程序的事。JDBC不是Mincrosoft的ODBC(开放式数据库连接)规范派生的,JDBC完全是用Java编写的,而ODBC是个C接口。但是,JDBC和ODBC都是基于X/开放SQL命令层接口(CLI),相同的概念性基础使API工作进展更快,使API的接受更

37、加容易。JavaSoft提供了将JDBC变成ODBC的JDBC-ODBC桥。这个用本地方法完成的版本很小很有效。(3) JDBC 的组成JDBC 是实现Java 应用程序与各种不同数据库对话的一种机制。 JDBC 由两部分与数据库独立的API 组成,一部分是面向程序开发人员的JDBCAPI ,另一部分是面向底层的JDBC Driver API。 JDBC提供了一个通用的JDBC Driver Manager ,用来管理各种数据库软件商提供的JDBC 驱动程序,从而访问其数据库。 此外,对没有提供相应JDBC 驱动程序的数据库系统,开发了特殊的驱动程序:JDBC -ODBC 桥,该驱动程序支持J

38、DBC 通过现有的ODBC驱动程序访问其数据库系统。 JDBC 的基本层次结构由Java 程序、JDBC 驱动程序管理器、驱动程序和数据库四部分组成。Java 程序:Java 程序包括Java 应用程序和Ja2va 小应用程序,主要是根据JDBC 方法实现对数据库的访问和操作。 其主要任务有:请求与数据库建立连接;向数据库发送SQL 请求;为结果集定义存储应用和数据类型;查询结果;处理错误;控制传输、提交及关闭连接等操作。JDBC 驱动程序管理器:它能够动态地管理和维护数据库查询所需要的所有驱动程序对象,实现Java 程序与特定驱动程序的连接,从而体现JDBC的“与平台无关”这一特点。 其主要

39、任务有:为特定数据库选择驱动程序;处理JDBC 初始化调用;为每个驱动程序提供JDBC 功能的入口;为JDBC 调用执行参数等。驱动程序:驱动程序处理JDBC 方法,向特定数据库发送SQL 请求,并为Java 程序获取结果。在必要的时候,驱动程序可以翻译或优化请求,使SQL 请求符合DBMS 支持的语言。 其主要任务有:建立与数据库的连接;向数据库发送请求;用户程序请求时,执行翻译;将错误代码格式化成标准的JDBC 错误代码等。 JDBC 是独立于数据库管理系统的,而每个数据库系统均有自己的协议与客户机通信,因此,JDBC 利用数据库驱动程序来使用这些数据库引擎。JDBC 驱动程序由数据库软件

40、商和第三方软件商提供,因此,根据编程所使用的数据库系统不同,所需要的驱动程序也有所不同。数据库:指Java 程序需要访问的数据库及其数据库管理系统。(3) JDBC 的工作机制如果用户是从事软件领域工作的,不可能没有听说过SQL(Structure Query Language:结构化查询语言),它是一种标准化的关系型数据库访问语言。在SQL看来,数据库就是表的集合,其中包含了行和列。SQL标准虽然也还处在不断变革之中(任何一门标准如果已一成不变了,那只能说明这门学科已经停止发展了),但其基本内容相对稳定。JDBC定义了Java语言同SQL数据之间的程序设计接口。JDBC有一个非常独特的动态连

41、接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。JavaSoft公司开发了JDBC API,JDBC API是一个标准统一的SQL数据存取接口。JDBC在Internet中的作用与ODBC在Windows系列中的作用类似。它为Java程序提供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性,而且在Internet上确实无法预料你的用户想访问什么类型的数据库。只要系统上安装了正确的驱动器组,JDBC应用程序就可以访问其相关的数据库。用JD

42、BC来实现访问数据库记录可以采用下面的几个步骤:1) 通过驱动器管理器获取连接接口。2) 获得Statement或它的子类。3) 限制Statement中的参数。4) 执行Statement。5) 查看返回的行数是否超出范围。6) 关闭Statement。7) 处理其它的Statement8) 关闭连接接口。(4) JDBC 驱动程序的分类JDBC驱动程序实现在JDBC API 中定义的所有抽象类和接口,为通用的Driver Manager 提供JD2BC API。JDBC 驱动程序通常由数据库厂商提供,目前主流数据库产品都提供相关的JDBC 驱动程序。根据访问数据库的技术不同,JDBC 驱动

43、程序相应地分为四种类型,如图1 所示。 不同类型的JDBC驱动程序有着不一样的特性和使用方法。第一类:JDBC - ODBC 桥驱动程序(JDBC - OD2BC Bridge) 。 此类驱动程序提供了通过ODBC 驱动程序的JDBC 访问。 其特点是必须在本地计算机上先安装好ODBC 驱动程序,然后通过JDBC - ODBCBridge 的转换,将Java 程序中使用的JDBC API 访问指令转换成ODBC API 指令,进而通过ODBC 驱动程序调用本地数据库驱动代码完成对数据库的访问。 这种方法的不足是:执行效率比较低,不适合对大数据量存取的应用;要求客户端必须安装ODBC驱动,不适合

44、基于InternetPIntranet 的应用。第二类:部分Java 的本地JDBC API 桥驱动程序(JDBC - Native API Bridge) 。 同第一类一样,此类驱动程序也必须在本地计算机上先安装好特定的驱动程序(类似ODBC) ,然后通过JDBC - NativeAPI Bridge 的转换, 把Java 程序中使用的JDBCAPI 转换成Native API ,进而存取数据库。 这种方法效率比第一类驱动程序效率虽然高一些,但仍然需要在每台客户机上预先安装本地API 库,因此不利于维护和使用。第三类:纯Java 的JDBC 中间件驱动程序(JD2BC - Middlewar

45、e) 。 使用这类驱动程序时不需要在本地计算机上安装任何附加软件,但是必须在安装数据库管理系统的服务器端加装中间件(Middle2ware) ,这个中间件负责所有存取数据库时必要的转换。 此类驱动程序能将JDBC 访问转换成与数据库无关的标准网络协议(通常是HTTP 或HTTPS) 送出,然后由一个中间件服务器再将其转换成数据专用的访问指令,完成对数据库的操作。 中间件服务器能支持对多种数据库的访问。 由于是基于中间件服务器的,这类驱动程序的体积最小,效率较高,具有最大的灵活性,缺点是需要一个中间服务器的支持。 此类驱动采用标准的网络协议,可以被防火墙支持,是Internet 应用理想的解决方

46、案。第四类:纯Java 的JDBC 驱动程序(Pure JDBCDriver) 。 使用这类驱动程序时无需安装任何附加的软件(无论是本地计算机或是数据库服务器端) ,所有存取数据库的操作都直接由JDBC 驱动程序来完成。 此类驱动程序能将JDBC 调用转换成DBMS 专用的网络协议。 数据库厂商是这一类驱动程序的主要提供者。 它允许从客户机到数据库服务器的直接调用。 这种驱动程序的效率最高,但由于采用DBMS专用的网络协议,可能不被防火墙支持。 在Internet应用中会存在潜在安全隐患。综上所述,最佳的JDBC 驱动程序类型是第四类,它不会增加任何额外的开销,并且由纯Java语言开发而成,拥

47、有最佳的兼容性。 由于第一类和第二类的JDBC 驱动程序都必须事先安装其他附加的软件,有损Java 数据库程序的兼容性。 第三类JDBC 驱动程序也是不错的选择,它也是由纯Java 语言开发而成的,并且中间件也仅需要在服务器上安装。 因此,建议最好以第三类和第四类JDBC 驱动程序为主要选择,第一类和第二类的JDBC 驱动程序为次要选择。 (5) 利用JDBC代替CGI迄今为止,通过Java访问数据库的唯一方法就是利用Java中的流调和访问Common Gateway Interface(CGI,公用网关接口)程序。通过Java调用CGI脚本其实是执行一个访问数据库并返回结果的独立程序。使用这

48、种方法速度很慢,而且会在应用程序中引入更多的错误。这是由于利用两种不同的开发语言开发程序,需要掌握两种不同的技术。使用JDBC,用户只要了解Java语言即可,而使用CGI,用户必须同时使用Java和另一种编程语言。使用JDBC的另一个原因是它的速度比CGI方法更快。使用CGI方法通常要求计算机执行另一个独立的程序。这个独立的程序访问数据库,处理数据,并将结果返回给调用程序。这就需要多级处理,因而增加了等待时间和出错概率。调用CGI脚本通常是通过Web服务器执行一个新的脚本,而执行JDBC的数据库命令只需要某种将SQL命令发送给数据库的服务器。这就大大缩短了执行SQL语句的时间,CGI脚本必须独

49、立地连接数据库,处理执行结构,而JDBC的解决方案使应用程序直接与数据库相连,执行各种操作。62.3 ODBC和JDBC的比较JDBC API用于连接Java应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把Java作为编程语言,把任何一种浏览器作为应用程序的友好界面,把Internet或Intranet作为网络主干,把有关的数据库作为数据库后端。以下是使用JDBC的优缺点。优点如下:(1) JDBC API与ODBC十分相似,有利于用户理解。(2) JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。(3) JDBC支持不同的关系

50、数据库,使得程序的可移植性大大加强。(4) 用户可以使用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC。(5) JDBC API是面向对象的,可以让用户把常用的方法封装为一个类,备后用。缺点如下:(1) 使用JDBC,访问数据记录的速度会受到一定程度的影响。(2) JDBC结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻烦。3. RFID库存管理系统设计过程3.1管理系统设计前提该RFID库存管理系统是一个建立在RFID读取接收器以上的系统。该系统中所有有关货物的信息都是来自于RFID读取器和远端服务器。读取器将在库存中流通的货物的RFID码读出后交给管理系统,管理系统再

51、利用web servers 获取该RFID码对应货物的详细信息并放入数据库,从而获得数据信息。故该管理系统的设计前提是RFID读取器和web servers 能够正常合作进行。但由于时间有限,在本文中并未涉及到该管理系统和两者的合作协调。3.2程序使用的软件工具3.2.1 JBuilder 9.0JBulider 是目前最好的java开发工具之一,在协同管理,对J2EE和XML的支持均走在其他产品的前面。JBuilder的主要特性:(1) 提供与Tomcat的集成,使Web开发更容易。(2) 提供了对企业应用的开发功能,可以集成多种应用服务器。(3) 提供了更简单的程序发布功能,所有的应用都可

52、以打包。(4) 提供了团队开发能力,可以集成多种版本控制产品。JBuilder是遵循Sun公司J2EE标准的可视化集成开发工具。JBuilder是一种处于市场领先地位的跨平台环境,主要用于构建具有行业实力的企业Java应用程序。JBuilder继承了Borland公司开发工具系列的优秀特性,这使得用过Delphi,C+Builder 的程序员很容易过渡到JBuilder的开发环境中。JBuilder实际上包括了用户在Java集成开发环境中所需要的一切东西。由于JBuilder和几种单独源代码处理产品集成在一起的,所以它就能够支持多种Java开发工具包版本。它对于JavaDoc的支持是无可挑剔的

53、:JBuilder软件能够自动生成JavaDoc文件。73.2.2 SQL Server 2000SQL Server 2000是建立在 SQL Server 7.0 在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQL Server 2000 设计成利用 Windows 2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和

54、易用性方面在行业内领先,SQL Server 2000 通过与 Windows 2000 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。通过与 OLAP 服务、数据转换服务、存储库和英文查询的紧密结合,SQL Server 7.0 代表了行业内最全面的数据仓库和决策支持平台。SQL Server 2000 继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQL Server 2000 关系引擎增加了实质化的视图,改善了在特大型数据库环境中执行复杂查询的性能。同时,SQL

55、Server 2000 引入了新的数据挖掘功能,可自动发现在大量数据之间隐藏的关系并可基于历史数据作出预测。这些数据挖掘功能将要实施,以向最终用户隐藏这种尖端技术的复杂性,并允许开发人员将第三方的数据挖掘产品轻松集成进客户的应用程序中。最后,在电子商务领域,SQL Server 2000 高度集成了对 XML 和通过 Web 访问数据库的支持。3.3数据库类型的选定从上面的方法论证中,我们可以看出JDBC可以利用驱动程序直接对SQL Server 进行操作,这样的操作比使用JDBC-ODBC桥要迅速而且简单。因为我们使用的是java编程,直接使用JDBC可以更加方便,顺畅,故本设计中使用JDB

56、C。3.4数据库的建立和连接3.4.1 建立数据库打开SQL Server 2000,新建一个数据库 RFID_Server ,在其中建一名为 ProductInfo 的数据表。根据要求,该表有三列,分别是 RFIDNo , ProductName 和 Producer。其中 RFIDNo 为该表主键。其中RFIDNo是流通货物的唯一RFID码,ProductName是该货物的名称,如可口可乐,百事可乐等,Producer是该货物的生产厂家,都设为不可为空。如图3-1所示:图3-1RFID_Server数据库中ProductInfo表3.4.2 下载SQL Server 的驱动程序并设置环境变

57、量在 下载msbase.jar, mssqlserver.jar, msutil.jar 三个包,并在classpath下添加环境变量。这三个包是Microsoft针对JDBC 对SQL Server 2000 操作的驱动程序。3.4.3与数据库连接在建立好数据库表后,下面要做的第一件事情是与想要使用的SQL Server 2000 建立一个连接,这包括两个步骤:装载驱动程序并建立连接。装载驱动程序只需要非常简单的一行代码。在这里,我们想要使用微软的驱动程序,可以用下列代码装载它:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();这里其实不需要创建一个驱动程序类的实例并且用DriverManager 登记它,因为调用Class。forName 将自动加载驱动程序类。如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论