




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 基于基于 RFIDRFID 的库存管理系统的库存管理系统InventoryInventory ManagementManagement SystemSystem BasedBased onon RFIDRFID2摘要摘要射频识别(Radio Frequency Identification, RFID)作为一种快速、实时、准确采集与处理信息的高新枝术和信息标准化的基础,被列为本世纪十人重要技术之一。RFID 技术已逐渐成为企业提高物流供应链管理水平,降低成本,企业管理信息化,参与国际经济大循环,增强企业核心竞争力不可缺少的技术工具和手段。本文首先介绍了了 RFID 的系统组成,工作原理,发
2、展历史,技术标准现状以及 RFID 在管理中的应用。然后通过对 ODBC 和 JDBC 的讨论,确定了两种中间件的特点。本文利用 JBuilder 9.0,SQL Server 2000,JDBC 设计了基于 RFID的库存管理系统。该系统分为登陆模块,查询模块,出库模块,入库模块。 文中详细列出了各个模块的程序流程图,完成带有 RFID 的货物在库存中的流动模拟。其中程序的核心部分是实现了数据库的建立和针对数据库的查询等操作。本文的最后列写出了对于发展前景的展望。关键词关键词:RFID,库存管理,JDBC,SQL Server 20003AbstractAs a speedy, real-t
3、ime, accurate information collection and procession technology Radio Frequency 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 ma
4、nagement information, joins in international economy circle, strength enterprises 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 JDB
5、C, the author found out the characters of these two databases. In this article, 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 detai
6、led listed and the processes of the goods which are with RFID flowing in 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,In
7、ventory management,JDBC,SQL Server 2000 4 目录目录摘要摘要 .2ABSTRACT.31 1选题背景选题背景 .51.1 RFID 简介.51.2 RFID 发展历史.51.3 RFID 的系统组成.61.4 RFID 工作原理.61.5 RFID 技术标准现状.71.6 RFID 在管理中的应用.102 2 库存管理系统方法论证库存管理系统方法论证 .122.1 ODBC.122.2 JDBC.132.3 ODBC 和 JDBC 的比较.193 3. RFIDRFID 库存管理系统设计过程库存管理系统设计过程 .213.1 管理系统设计前提.213.2
8、 程序使用的软件工具.213.3 数据库类型的选定.223.4 数据库的建立和连接.233.5 系统流程.254 4. 总结与展望总结与展望 .40致谢致谢 .41参考文献参考文献: .4251 1选题背景选题背景1 1.1 1 RFIDRFID 简介简介RFID 射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID 技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。 埃森哲实验室首席科学家弗格森认为 RFID 是一种突破性的技术:第一,可以识别单个的非常具体的物体,而不是像条形码那样只能识别一类物体;
9、第二,其采用无线电射频,可以透过外部材料读取数据,而条形码必须靠激光来读取信息;第三,可以同时对多个物体进行识读,而条形码只能一个一个地读。此外,储存的信息量也非常大。11 1.2 2 RFIDRFID 发展历史发展历史 RFID 技术的发展最早可以追溯至第二次世界大战时期,那时它被用来在空中作战行动中进行敌我识别。从历史上看,RFID 技术的发展基本可按 10 年期划分为几个阶段(参见表 1)。因此 RFID 并不是一个崭新的技术。从分类上看,因为经过多年的发展,13.56MHz 以下的 RFID 技术已相对成熟,目前业界最关注的是位于中高频段的 RFID 技术,特别是 860MHz960M
10、Hz(UHF 频段)的远距离RFID 技术发展最快;而 2.45GHz 和 5.8GHz 频段由于产品拥挤,易受干扰,技术相对复杂,其相关的研究和应用仍处于探索的阶段。表 1-1 RFID 技术发展的历程表 时间 RFID 技术发展 1941-1950年 雷达的改进和应用催生了 RFID 技术,1948 年奠定了 RFID 技术的理论基础。 1951-1960年 早期 RFID 技术的探索阶段,主要处于实验室实验研究。 196l-1970年 RFID 技术的理论得到了发展,开始了一些应用尝试。 1971-1980年 RFID 技术与产品研发处于一个大发展时期,各种 RFID 技术测试得到加速。
11、出现了一些最早的 RFID 应用。 61981-1990年 RFID 技术及产品进入商业应用阶段,各种封闭系统应用开始出现。 1991-2000年 RFID 技术标准化问题日趋得到重视,RFID 产品得到广泛采用。 2001-今 标准化问题日趋为人们所重视,RFID 产品种类更加丰富,有源电子标签、无源电子标签及半无源电子标签均得到发展,电子标签成本不断降低。 1 1.3 3 RFIDRFID 的系统组成的系统组成一个典型的 RFID 系统一般由 RFID 标签、读写器以及计算机系统等部分组成。其中 RFID 标签中一般保存有约定格式的编码数据,用以唯一标识标签所附着的物体。与传统的识别方式相
12、比,RFID 技术无需直接接触、无需光学可视、无需人工干预即可完成信息输入和处理,且操作方便快捷。能够广泛应用于生产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理等需要收集和处理数据的应用领域,并被认为是条形码标签的未来替代品。 在具体的应用过程中,根据不同的目的和环境,RFID 系统的组成会有所不同,但从其工作原理来看,系统一般都由信号发射机、信号接收机、发射接收天线三部分组成。(1) 信号发射机:在 RFID 系统中,信号发射机为了不同的应用目的,会以不同的形式存在,典型的形式是标签。标签相当于条形码技术中的条形码符号,用来存储需要识别传输的信息。另外,与条形码不同的是,标签必须能够
13、自动或在外力的作用下,把存储的信息主动发射出去。标签一般是带有线圈、天线、存储器与控制系统的低电集成电路。(2) 信号接收机:RFID 系统中,信号接收机一般叫做阅读器。阅读器基本的功能就是提供与标签进行数据传输的途径。另外,阅读器还提供相当复杂的信号状态控制、奇偶错误校验与更正功能等。(3) 发射接收天线:天线是标签与阅读器之间传输数据的发射、接收装置。RFID 技术用于需要跟踪众多货物资源、而人手又有限的仓库管理中是非常现实的。因为 RFID 系统基于人们熟悉的 Windows 或 UNIX 平台,所以通常易于管理。71 1.4 4 RFIDRFID 工作原理工作原理RFID 系统的工作原
14、理:读写器通过天线发送出一定频率的射频信号;当RFID 标签进入读写器工作场时,其天线产生感应电流,从而 RFID 标签获得能量被激活并向读写器发送出自身编码等信息;读写器接收到来自标签的载波信号,对接收的信号进行解调和解码后送至计算机主机进行处理;计算机系统根据逻辑运算判断该标签的合法性,针对不同的设定做出相应的处理和控制,发出指令信号;RFID 标签的数据解调部分从接收到的射频脉冲中解调出数据并送到控制逻辑,控制逻辑接收指令完成存储、发送数据或其他操作。21 1.5 5 RFIDRFID 技术标准现状技术标准现状 1 1.5 5.1 1 ISOISO 制定的制定的 RFIDRFID 标准体
15、系标准体系RFID 标准化工作最早可以追溯到 20 世纪 90 年代。1995 年国际标准化组织ISO/IEC 联合技术委员会 JTCl 设立了子委员会 SC31(以下简称 SC31),负责RFID 标准化研究工作。SC31 委员会由来自各个国家的代表组成,如英国的 BSI IST34 委员、欧洲 CEN TC225 成员。他们既是各大公司内部咨询者,也是不同公司利益的代表者。因此在 ISO 标准化制定过程中,有企业、区域标准化组织和国家三个层次的利益代表者。SC31 子委员会负责 RFID 标准可以分为四个方面:数据标准(如编码标准 ISO/IEC 15691、数据协议 ISO/IEC 15
16、692、ISO/IEC 15693,解决了应用程序、标签和空中接口多样性的要求,提供了一套通用的通信机制)、空中接口标准(ISO/IEC 18000 系列)、测试标准(性能测试 ISO/IEC 18047 和一致性测试标准 ISO/IEC 18046)、实时定位(RTLS)(ISO/IEC 24730 系列应用接口与空中接口通信标准)方面的标准。 这些标准涉及到 RFID 标签、空中接口、测试标准、读写器与到应用程序之间的数据协议,它们考虑的是所有应用领域的共性要求。ISO 对于 RFID 的应用标准是由应用相关的子委员会制定。RFID 在物流供应链领域中的应用方面标准由 ISO TC 122
17、/104 联合工作组负责制定, 包括ISO17358 应用要求、ISO 17363 货运集装箱、ISO 17364 装载单元、ISO 173658运输单元、ISO 17366 产品包装、ISO 17367 产品标签。RFID 在动物追踪方面的标准由 ISO TC 23 SC19 来制定,包括 ISO 11784/11785 动物 RFID 畜牧业的应用,ISO 14223 动物 RFID 畜牧业的应用-高级标签的空中接口、协议定义。从 ISO 制订的 RFID 标准内容来说,RFID 应用标准是在 RFID 编码、空中接口协议、读写器协议等基础标准之上,针对不同使用对象,确定了使用条件、标签尺
18、寸、标签粘贴位置、数据内容格式、使用频段等方面特定应用要求的具体规范,同时也包括数据的完整性、人工识别等其他一些要求。通用标准提供了一个基本框架,应用标准是对它的补充和具体规定。这一标准制订思想,既保证了 RFID 技术具有互通与互操作性,又兼顾了应用领域的特点,能够很好地满足应用领域的具体要求。1 1.5 5.2 2 EPCglobaEPCgloba l l 制定的制定的RFID 标准体系与 ISO 通用性 RFID 标准相比,EPCglobal 标准体系是面向物流供应链领域,可以看成是一个应用标准。EPCglobal 的目标是解决供应链的透明性和追踪性,透明性和追踪性是指供应链各环节中所有
19、合作伙伴都能够了解单件物品的相关信息,如位置、生产日期信息。为此 EPCglobal 制定了EPC 编码标准,它可以实现对所有物品提供单件惟一标识;也制定了空中接口协议、读写器协议。这些协议与 ISO 标准体系类似。在空中接口协议方面,目前 EPCglobal 的策略尽量与 ISO 兼容,如 C1Gen2 UHF RFID 标准递交 ISO 将成为 ISO 18000 6C 标准。但 EPCglobal 空中接口协议有它的局限范围,仅仅关注UHF 860930MHz。除了信息采集以外,EPCglobal 非常强调供应链各方之间的信息共享,为此制定了信息共享的物联网相关标准,包括 EPC 中间件
20、规范、对象名解析服务ONS(Object Naming Service)、物理标记语言(PhysicalMarkup Language)。这样从信息的发布、信息资源的组织管理、信息服务的发现以及大量访问之间的协调等方面作出规定。“物联网”的信息量和信息访问规模大大超过普通的因特网。“物联网”系列标准是根据自身的特点参照因特网标准制订的。“物联网”是基于因特网的,与因特网具有良好的兼容性。9物联网标准是 EPCglobal 所特有的,ISO 仅仅考虑自动身份识别与数据采集的相关标准,数据采集以后如何处理、共享并没有作规定。物联网是未来的一个目标,对当前应用系统建设来说具有指导意义。1 1.5 5
21、.3 3 日本日本 UIDUID 制定的制定的 RFIDRFID 标准体系标准体系日本泛在中心制定 RFID 相关标准的思路类似于 EPCglobal,目标也是构建一个完整的标准体系,编码体系、空中接口协议到泛在网络体系结构,但是每一个部分的具体内容存在差异。为了制定具有自主知识产权的 RFID 标准,在编码方面制定了 ucode 编码体系,它能够兼容日本已有的编码体系,同时也能兼容国际其他的编码体系。在空中接口方面积极参与 ISO 的标准制定工作,也尽量考虑与 ISO 相关标准兼容。在信息共享方面主要依赖于日本的泛在网络它可以独立于因特网实现信息的共享。泛在网络与 EPCglobal 的物联
22、网还是有区别的。EPC 采用业务链的方式,面向企业,面向产品信息的流动(物联网),比较强调与互联网的结合。UID采用扁平式信息采集分析方式,强调信息的获取与分析,比较强调前端的微型化与集成。1 1.5 5.4 4 三大标准体系空中接口协议的比较三大标准体系空中接口协议的比较目前,ISO/IEC 18000、EPCglobal、日本 UID 三个空中接口协议正在完善中。这三个标准相互之间并不兼容,主要差别在通讯方式、防冲突协议和数据格式这三个方面,在技术上差距其实并不大。这三个标准都按照 RFID 的工作频率分为多个部分。在这些频段中,以13。56MHz 频段的产品最为成熟,处于 860960M
23、Hz 内的 UHF 频段的产品因为工作距离远且最可能成为全球通用的频段而最受重视,发展最快。ISO/IEC 18000 标准是最早开始制定的关于 RFID 的国际标准,按频段被划分为 7 个部分。目前支持 ISO/IEC 18000 标准的 RFID 产品最多。EPCglobal 是由 UCC 和 EAN 两大组织联合成立、吸收了麻省理工 AutoID 中心的研究成果后推出的系列标准草案。EPCGlobal 最重视 UHF 频段的 RFID 产品,极力推广基于10EPC 编码标准的 RFID 产品。目前,EPC Global 标准的推广和发展十分迅速,许多大公司如沃尔玛等都是 EPC 标准的支
24、持者。日本的泛在中心(Ubiquitous ID)一直致力于本国标准的 RFID 产品开发和推广,拒绝采用美国的 EPC 编码标准。与美国大力发展 UHF 频段 RFID 不同的是,日本对 2。4GHz 微波频段的RFID 似乎更加青睐,目前日本已经开始了许多 2。4GHz RFID 产品的实验和推广工作。标准的制定面临越来越多的知识产权纠纷。不同的企业都想为自己的利益努力。同时,EPC 在努力成为 ISO 的标准,ISO 最终如何接受 EPC 的 RFID标准,还有待观望。全球标准的不统一,硬件产品的兼容方面必然不理想,阻碍应用。31 1.6 6 RFIDRFID 在管理中的应用在管理中的应
25、用电子标签因为其具有防冲撞性、封装任意性、使用寿命长、可重复利用等特点,适合应用于现在科学的库存管理系统中。 现在的库存管理系统通常使用条码标签或是人工库存管理单据书写等方式支持自有的库存管理。但是条码的易复制、不防污、不防潮等特点,还有人工书写单据的烦琐性,容易造成人为损失等无法避免的缺点,使得现在国内的库存管理供应链始终存在着缺陷。随着电子标签这一最新科技产品的投入应用,可以从根本上解决上述的问题。用电子标签支持现今的库存管理系统的优势在于: 有效管理货物装箱作业。(减少损失) 信息收集自动化。 产品来源之核对。 每阶段制程中产品品质之稽核。 可更改电子标签上的资料 而无须更改产品包装。
26、有效管理装货(减少丢失)。 自动化结果便能更有效品质监督。 可以全程跟踪库存货物的物流情况,将损失和失误降低到最低点。下面是国内外常见的 RFID 管理的应用:111 1.6 6.1 1 车辆自动识别管理车辆自动识别管理高速公路自动收费系统是 RFID 技术最成功的应用之一。目前ETC(Electronic Toll Collection,不停车收费系统)是世界上最先进的路桥收费方式。当安装在车辆上的车载电子标签进收费站时,收费站上的无线射频装置会自动激活车载电子标签,并完成相互间的认证识别过程,能将有关车辆信息输入计算机收费处理系统,同时利用计算机联网技术与银行进行结算,完成费用的收缴工作,
27、从而达到无需停车即可交纳路桥费的目的。ETC 是国际上正在努力开发并推广的一种用于公路、大桥和隧道的电子自动收费系统。该技术在国外已有较长的发展历史,美国、欧洲等许多国家和地区的电子收费系统已经局部联网并逐步形成规模效益。41 1.6 6.2 2 仓储管理仓储管理将 RFID 系统用于智能仓库货物管理,有效地解决了仓库与货物流动有关的信息管理。它不但增加了一天内处理货物的件数,而且还监看这些货物的一切信息。射频天线安置在仓库相关的各个部位和货物所通过的仓库大门边上,每辆叉车上都有读写器和天线,每个货物都贴有电子标签,所有电子标签信息都被存储在仓库的中心计算机里,该货物的有关信息都能在计算机里查
28、到。当货物被装走运往别处时,相关的读写器就能识别并告知计算中心它被放在哪辆拖车上。这样,管理中心可以实时地了解到已经入库了多少货物和发送了多少货物或者货物在仓库转移的情况,并可自动识别货物,确定货物的位置。122 2 库存管理系统方法论证库存管理系统方法论证为了有利于库存系统的 webserver 发布,这里使用的编程工具为 java。库存管理最重要,最核心的部分是与数据库的连接与对数据库的操作。这里我们使用的 SQL Server 2000 数据库软件。这里涉及到一个 ODBC 和 JDBC 的问题,下面我们来论述下这两种数据库的优缺点。2 2.1 1 ODBCODBC 2 2.1 1.1
29、1 ODBCODBC 简介简介O D B C 的基本思想是为用户提供简单、标准、透明的数据库连接的公共编程接口,开发厂商根据 ODBC 的标准去实现底层的驱动程序,这个驱动对用户是透明的,并允许根据不同的 DBMS 采用不同的技术加以优化实现,这就利于不断吸收新的技术而趋完善。 ODBC 出现以后,用户安装不同的 DBMS 驱动就可用同样的 SQL 语句实现在不同 DBMS 上进行同样的操作,而且无需预编译。ODBC 带来了数据库连接方式的变革。在传统方式中,开发人员要熟悉多个 D B M S 及其 API ,一旦 DBMS 端出现变动,则往往导致用户端系统重新编建或者源代码的修改,这给开发和
30、维护工作带来了很大困难。在 ODBC 方式中,不管底层网络环境如何,也无论采用何种 DBMS,用户在程序中都使用同一套标准代码,无需逐个了解各 DBMS 及其 API 的特点,源程序不因底层的变化而重新编建或修改,从而减轻了开发维护的工作量,缩短了开发周期。132 2.1 1.2 2 ODBCODBC 的特点:的特点:(1) 使用户程序有很高的互操作性,相同的目标代码适用于不同的 D B M S 。(2) 由于 ODBC 的开放性,它为程序集成提供了便利,为客户机/ 服务器结构提供了技术支持。(3) 由于应用与底层网络环境和 DBMS 分开,简化了开发维护上的困难。2 2.1 1.3 3 OD
31、BCODBC 的体系结构和实现的体系结构和实现O D B C 是依靠分层结构来实现的,如此可保证其标准性和开放性。它共分为四层:应用程序、驱动程序管理器、驱动程序和数据源。下面我们详细介绍各层的功能。(1) 应用程序层(Application)使用 ODBC 接口的应用程序可执行以下任务: 1)请求与数据源的连接和会话(SQLConnect);2)向数据源发送 SQL 请求(SQLExecDirct 或 SQLExecute); 3)对 SQL 请求的结果定义存储区和数据格式;4)请求结果;5)处理错误;6)如果需要,把结果返回给用户; 7)对事务进行控制,请求执行或回退操作(SQLTrans
32、act); 8)终止对数据源的连接(SQLDisconnect)。(2) 驱动程序管理器(Driver Manager) 由微软提供的驱动程序管理器是带有输入库的动态连接库 ODBC。DLL ,其主要目的是装入驱动程序,此外还执行以下工作: 1)处理几个 ODBC 初始化调用; 2)为每一个驱动程序提供 ODBC 函数入口点; 3)为 O D B C 调用提供参数和次序验证。(3) 驱动程序(Driver) 驱动程序是实现 ODBC 函数和数据源交互的 DLL,当应用程序调用 SQL Connect 或者 SQLDriverConnect 函数时,驱动程序管理器装入相应的驱动程序,它对来自应用
33、程序的 ODBC 函数调用进行应答,按照其要求执行以下任务: 1)建立与数据源的连接; 2)向数据源提交请求; 3)在应用程序需求时,转换数据格式; 4)返回结果给应用程序; 5)将运行错误格式化为标准代码返回; 6)在需要时说明和处理光标。14(4) 数据源52 2.2 2 JDBCJDBC 2 2.2 2.1 1 JDBCJDBC 简介简介JDBC(Java Database Connectivity ,Java 数据库连接) 作为 Java 平台的一个标准组成部分,是根据“与平台无关”的基本原则而设计的,对独立于数据库的跨平台的数据库访问提供了有力的技术支持。JDBC 是 Java 程序
34、连接和访问各种数据库的 API(Application Programming Interface ,应用程序接口) ,它由一组类和接口构成,通过调用这些类和接口所提供的方法,提供了 Java 程序与各种数据库服务器之间的连接服务,它支持 ANSI SQL - 92 标准,实现了从 Java 程序内调用标准的 SQL 命令对数据库进行查询、插入、删除和更新等操作,并确保数据事务的正常进行。JDBC 在 J2EE 平台中使用 JDBC 2.0 以上的 API 以及 JDBC 2.0 扩展 API ,它们提供了在企业级开发应用中对异构数据库的连接和跨平台数据库访问的重要接口。2 2.2 2.2 2
35、 JDBCJDBC 的体系结构和实现的体系结构和实现(1) Java 作为数据库前台 在信息时代,数据库是用于收集和处理数据的工具,数据库形成了许多公司基础结构的基础。尽管数据库系统非常适合数据的存储和取得,但人类需要某种前台应有程序以查阅和使用存放的数据。Java 对建立数据库服务器前台应用程序的开发人员提供了几个好处。Java是“一旦写成,到处运行”的语言,即 Java 程序不经改变即可部署到任何运行Java 虚拟机的计算机结构和操作系统。对于大公司,有一个公用开发平台好处很大,编程人员可以不再为大公司中的各个平台分别编程。Java 也很吸引第三方开发者,单个 Java 程序即可满足大公司
36、客户的需求。建立公司系统中基于 Java 的应用程序和小程序的动力是巨大的。公司对于将结构和操作系统相关模型变成针对网络的模型相当有兴趣。Java 代表着节约资源成本的长期战略。15对于开发人员,Java 代表巨大的市场机会。大中型企业很少不用数据库进行业务工作的,大部分公司将数据库应用到业务的各个方面,从人事资源到前线客户销售。(2) JDBC APIJDBC API 使开发者不必不断重写程序而可以建立数据库前台。尽管 ANSI委员会有个标准组,但每个数据库系统厂家的系统连接和通讯方法仍然五花八门。为了建立健全独立于平台的应用程序和基于 Web 的小程序,开发人员应考虑用 Java 开发前台
37、连接办法。从外部看,第三方软件开发者通过专用办法,通过本地方法集成客户机方库或通过建立第三层和新协议来满足这种需求。JavaSoft 是 Sun 公司负责开发 Java 产品的业务单位,和数据库与数据库工具厂家一起建立独立于 DBMS 的机制,使开发人员不必考虑所用的特定数据库而编写客户机方应用程序。产生的 JDBC API 第一版是核心 JDK 2 的一部分。JDBC 向应用程序开发者提供了独立于数据库的统一的 API。这个 API 提供了编写的标准和考虑所有不同应用程序设计的标准。其奥秘是一组由驱动程序实现的 Java 接口。驱动程序负责标准 JDBC 调用向支持的数据库所要的具体调用转变
38、。应用程序编写一次并移植到各种驱动程序上。应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件(middleware)。除了向开发者提供统一的独立于 DBMS 的框架外,JDBC 还提供了让开发者保持数据库厂家提供的特定功能的办法。JDBC 驱动程序必须支持 ANSI AQL-2项目层,但 JDBC 允许开发者直接将查询字符串传递到连接的驱动程序。这些字段可能是 ANSI SQL 也可能不是,或者根本不是 AQL。这些字符串的使用是基础驱动程序的事。JDBC 不是 Mincrosoft 的 ODBC(开放式数据库连接)规范派生的,JDBC 完全是用 Java
39、 编写的,而 ODBC 是个 C 接口。但是,JDBC 和 ODBC 都是基于 X/开放SQL 命令层接口(CLI),相同的概念性基础使 API 工作进展更快,使 API 的接受16更加容易。JavaSoft 提供了将 JDBC 变成 ODBC 的 JDBC-ODBC 桥。这个用本地方法完成的版本很小很有效。(3) JDBC 的组成JDBC 是实现 Java 应用程序与各种不同数据库对话的一种机制。 JDBC 由两部分与数据库独立的 API 组成,一部分是面向程序开发人员的 JDBCAPI ,另一部分是面向底层的 JDBC Driver API。 JDBC 提供了一个通用的 JDBC Driv
40、er Manager ,用来管理各种数据库软件商提供的 JDBC 驱动程序,从而访问其数据库。 此外,对没有提供相应 JDBC 驱动程序的数据库系统,开发了特殊的驱动程序:JDBC -ODBC 桥,该驱动程序支持 JDBC 通过现有的 ODBC 驱动程序访问其数据库系统。 JDBC 的基本层次结构由 Java 程序、JDBC 驱动程序管理器、驱动程序和数据库四部分组成。Java 程序:Java 程序包括 Java 应用程序和 Ja2va 小应用程序,主要是根据 JDBC 方法实现对数据库的访问和操作。 其主要任务有:请求与数据库建立连接;向数据库发送 SQL 请求;为结果集定义存储应用和数据类
41、型;查询结果;处理错误;控制传输、提交及关闭连接等操作。JDBC 驱动程序管理器:它能够动态地管理和维护数据库查询所需要的所有驱动程序对象,实现 Java 程序与特定驱动程序的连接,从而体现 JDBC 的“与平台无关”这一特点。 其主要任务有:为特定数据库选择驱动程序;处理 JDBC 初始化调用;为每个驱动程序提供 JDBC 功能的入口;为 JDBC 调用执行参数等。驱动程序:驱动程序处理 JDBC 方法,向特定数据库发送 SQL 请求,并为Java 程序获取结果。在必要的时候,驱动程序可以翻译或优化请求,使 SQL 请求符合 DBMS 支持的语言。 其主要任务有:建立与数据库的连接;向数据库
42、发送请求;用户程序请求时,执行翻译;将错误代码格式化成标准的 JDBC 错误代码等。 JDBC 是独立于数据库管理系统的,而每个数据库系统均有自己的协议与客户机通信,因此,JDBC 利用数据库驱动程序来使用这些数据库引擎。JDBC 驱动程序由数据库软件商和第三方软件商提供,因此,根据编程所使用的数据库系统不同,所需要的驱动程序也有所不同。数据库:指 Java 程序需要访问的数据库及其数据库管理系统。(3) JDBC 的工作机制17如果用户是从事软件领域工作的,不可能没有听说过 SQL(Structure Query Language:结构化查询语言),它是一种标准化的关系型数据库访问语言。在
43、SQL 看来,数据库就是表的集合,其中包含了行和列。SQL 标准虽然也还处在不断变革之中(任何一门标准如果已一成不变了,那只能说明这门学科已经停止发展了),但其基本内容相对稳定。JDBC 定义了 Java 语言同 SQL 数据之间的程序设计接口。JDBC 有一个非常独特的动态连接结构,它使得系统模块化。使用 JDBC 来完成对数据库的访问包括以下四个主要组件:Java 的应用程序、JDBC 驱动器管理器、驱动器和数据源。JavaSoft 公司开发了 JDBC API,JDBC API 是一个标准统一的 SQL 数据存取接口。JDBC 在 Internet 中的作用与 ODBC 在 Window
44、s 系列中的作用类似。它为Java 程序提供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性,而且在 Internet 上确实无法预料你的用户想访问什么类型的数据库。只要系统上安装了正确的驱动器组,JDBC 应用程序就可以访问其相关的数据库。用 JDBC 来实现访问数据库记录可以采用下面的几个步骤:1) 通过驱动器管理器获取连接接口。2) 获得 Statement 或它的子类。3) 限制 Statement 中的参数。4) 执行 Statement。5) 查看返回的行数是否超出范围。6) 关闭 Statement。7) 处理
45、其它的 Statement8) 关闭连接接口。(4) JDBC 驱动程序的分类JDBC 驱动程序实现在 JDBC API 中定义的所有抽象类和接口,为通用的Driver Manager 提供 JD2BC API。JDBC 驱动程序通常由数据库厂商提供,目前主流数据库产品都提供相关的 JDBC 驱动程序。根据访问数据库的技术不同,18JDBC 驱动程序相应地分为四种类型,如图 1 所示。 不同类型的 JDBC 驱动程序有着不一样的特性和使用方法。第一类:JDBC - ODBC 桥驱动程序(JDBC - OD2BC Bridge) 。 此类驱动程序提供了通过 ODBC 驱动程序的 JDBC 访问。
46、 其特点是必须在本地计算机上先安装好 ODBC 驱动程序,然后通过 JDBC - ODBCBridge 的转换,将 Java 程序中使用的 JDBC API 访问指令转换成 ODBC API 指令,进而通过 ODBC 驱动程序调用本地数据库驱动代码完成对数据库的访问。 这种方法的不足是:执行效率比较低,不适合对大数据量存取的应用;要求客户端必须安装 ODBC 驱动,不适合基于 InternetPIntranet 的应用。第二类:部分 Java 的本地 JDBC API 桥驱动程序(JDBC - Native API Bridge) 。 同第一类一样,此类驱动程序也必须在本地计算机上先安装好特定
47、的驱动程序(类似 ODBC) ,然后通过 JDBC - NativeAPI Bridge 的转换, 把Java 程序中使用的 JDBCAPI 转换成 Native API ,进而存取数据库。 这种方法效率比第一类驱动程序效率虽然高一些,但仍然需要在每台客户机上预先安装本地 API 库,因此不利于维护和使用。第三类:纯 Java 的 JDBC 中间件驱动程序(JD2BC - Middleware) 。 使用这类驱动程序时不需要在本地计算机上安装任何附加软件,但是必须在安装数据库管理系统的服务器端加装中间件(Middle2ware) ,这个中间件负责所有存取数据库时必要的转换。 此类驱动程序能将
48、JDBC 访问转换成与数据库无关的标准网络协议(通常是 HTTP 或 HTTPS) 送出,然后由一个中间件服务器再将其转换成数据专用的访问指令,完成对数据库的操作。 中间件服务器能支持对多种数据库的访问。 由于是基于中间件服务器的,这类驱动程序的体积最小,效率较高,具有最大的灵活性,缺点是需要一个中间服务器的支持。 此类驱动采用标准的网络协议,可以被防火墙支持,是 Internet 应用理想的解决方案。第四类:纯 Java 的 JDBC 驱动程序(Pure JDBCDriver) 。 使用这类驱动程序时无需安装任何附加的软件(无论是本地计算机或是数据库服务器端) ,所有存取数据库的操作都直接由
49、 JDBC 驱动程序来完成。 此类驱动程序能将 JDBC 调用转换成 DBMS 专用的网络协议。 数据库厂商是这一类驱动程序的主要提供者。 它允许从客户机到数据库服务器的直接调用。 这种驱动程序的效率最高,19但由于采用 DBMS 专用的网络协议,可能不被防火墙支持。 在 Internet 应用中会存在潜在安全隐患。综上所述,最佳的 JDBC 驱动程序类型是第四类,它不会增加任何额外的开销,并且由纯 Java 语言开发而成,拥有最佳的兼容性。 由于第一类和第二类的JDBC 驱动程序都必须事先安装其他附加的软件,有损 Java 数据库程序的兼容性。 第三类 JDBC 驱动程序也是不错的选择,它也
50、是由纯 Java 语言开发而成的,并且中间件也仅需要在服务器上安装。 因此,建议最好以第三类和第四类 JDBC 驱动程序为主要选择,第一类和第二类的 JDBC 驱动程序为次要选择。 (5) 利用 JDBC 代替 CGI迄今为止,通过 Java 访问数据库的唯一方法就是利用 Java 中的流调和访问 Common Gateway Interface(CGI,公用网关接口)程序。通过 Java 调用CGI 脚本其实是执行一个访问数据库并返回结果的独立程序。使用这种方法速度很慢,而且会在应用程序中引入更多的错误。这是由于利用两种不同的开发语言开发程序,需要掌握两种不同的技术。使用 JDBC,用户只要
51、了解 Java 语言即可,而使用 CGI,用户必须同时使用 Java 和另一种编程语言。使用 JDBC 的另一个原因是它的速度比 CGI 方法更快。使用 CGI 方法通常要求计算机执行另一个独立的程序。这个独立的程序访问数据库,处理数据,并将结果返回给调用程序。这就需要多级处理,因而增加了等待时间和出错概率。调用 CGI 脚本通常是通过 Web 服务器执行一个新的脚本,而执行 JDBC 的数据库命令只需要某种将 SQL 命令发送给数据库的服务器。这就大大缩短了执行SQL 语句的时间,CGI 脚本必须独立地连接数据库,处理执行结构,而 JDBC 的解决方案使应用程序直接与数据库相连,执行各种操作
52、。62 2.3 3 ODBCODBC 和和 JDBCJDBC 的比较的比较JDBC API 用于连接 Java 应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把 Java 作为编程语言,把任何一种浏览器作为20应用程序的友好界面,把 Internet 或 Intranet 作为网络主干,把有关的数据库作为数据库后端。以下是使用 JDBC 的优缺点。优点如下:(1) JDBC API 与 ODBC 十分相似,有利于用户理解。(2) JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。(3) JDBC 支持不同的关系数据库,使得程序
53、的可移植性大大加强。(4) 用户可以使用 JDBC-ODBC 桥驱动器将 JDBC 函数调用转换为 ODBC。(5) JDBC API 是面向对象的,可以让用户把常用的方法封装为一个类,备后用。缺点如下:(1) 使用 JDBC,访问数据记录的速度会受到一定程度的影响。(2) JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻烦。213 3. RFIDRFID 库存管理系统设计过程库存管理系统设计过程3 3.1 1 管理系统设计前提管理系统设计前提该 RFID 库存管理系统是一个建立在 RFID 读取接收器以上的系统。该系统中所有有关货物的信息都是来自于 RFID 读取器和远端
54、服务器。读取器将在库存中流通的货物的 RFID 码读出后交给管理系统,管理系统再利用 web servers 获取该 RFID 码对应货物的详细信息并放入数据库,从而获得数据信息。故该管理系统的设计前提是 RFID 读取器和 web servers 能够正常合作进行。但由于时间有限,在本文中并未涉及到该管理系统和两者的合作协调。3 3.2 2 程序使用的软件工具程序使用的软件工具3 3.2 2.1 1 JBuilderJBuilder 9 9.0 0JBulider 是目前最好的 java 开发工具之一,在协同管理,对 J2EE 和 XML的支持均走在其他产品的前面。JBuilder 的主要特
55、性:(1) 提供与 Tomcat 的集成,使 Web 开发更容易。(2) 提供了对企业应用的开发功能,可以集成多种应用服务器。(3) 提供了更简单的程序发布功能,所有的应用都可以打包。(4) 提供了团队开发能力,可以集成多种版本控制产品。JBuilder 是遵循 Sun 公司 J2EE 标准的可视化集成开发工具。JBuilder 是一种处于市场领先地位的跨平台环境,主要用于构建具有行业实力的企业 Java22应用程序。JBuilder 继承了 Borland 公司开发工具系列的优秀特性,这使得用过 Delphi,C+Builder 的程序员很容易过渡到 JBuilder 的开发环境中。JBui
56、lder 实际上包括了用户在 Java 集成开发环境中所需要的一切东西。由于 JBuilder 和几种单独源代码处理产品集成在一起的,所以它就能够支持多种Java 开发工具包版本。它对于 JavaDoc 的支持是无可挑剔的:JBuilder 软件能够自动生成 JavaDoc 文件。73 3.2 2.2 2 SQLSQL ServerServer 20002000SQL Server 2000 是建立在 SQL Server 7.0 在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQL Server 2000 设计成利用 W
57、indows 2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 2000 通过与 Windows 2000 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。通过与 OLAP 服务、数据转换服务、存储库和英文查询的紧密结合,SQL Serve
58、r 7.0 代表了行业内最全面的数据仓库和决策支持平台。SQL Server 2000 继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQL Server 2000 关系引擎增加了实质化的视图,改善了在特大型数据库环境中执行复杂查询的性能。同时,SQL Server 2000 引入了新的数据挖掘功能,可自动发现在大量数据之间隐藏的关系并可基于历史数据作出预测。这些数据挖掘功能将要实施,以向最终用户隐藏这种尖端技术的复杂性,并允许开发人员将第三方的数据挖掘产品轻松集成进客户的应用程序中。最后,在电子商务领域,SQL Server 2000 高度集成了对 XML 和通过 Web 访问
59、数据库的支持。233 3.3 3 数据库类型的选定数据库类型的选定从上面的方法论证中,我们可以看出 JDBC 可以利用驱动程序直接对 SQL Server 进行操作,这样的操作比使用 JDBC-ODBC 桥要迅速而且简单。因为我们使用的是 java 编程,直接使用 JDBC 可以更加方便,顺畅,故本设计中使用JDBC。3 3.4 4 数据库的建立和连接数据库的建立和连接3 3.4 4.1 1 建立数据库建立数据库打开 SQL Server 2000,新建一个数据库 RFID_Server ,在其中建一名为 ProductInfo 的数据表。根据要求,该表有三列,分别是 RFIDNo , Pro
60、ductName 和 Producer。其中 RFIDNo 为该表主键。其中 RFIDNo 是流通货物的唯一 RFID 码,ProductName 是该货物的名称,如可口可乐,百事可乐等,Producer 是该货物的生产厂家,都设为不可为空。如图 3-1 所示:图 3-1RFID_Server 数据库中 ProductInfo 表243 3.4 4.2 2 下载下载 SQLSQL ServerServer 的驱动程序并设置环境变量的驱动程序并设置环境变量在 http:/ 下载 msbase.jar, mssqlserver.jar, msutil.jar 三个包,并在 classpath 下添
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家长会议与交流计划
- 改善供应链管理的策略计划
- 现金流对生产的影响计划
- 掌控时间的职场管理计划
- 起泡酒知识培训课件视频
- 颈椎损伤截瘫术后护理
- 护理实操知识培训课件
- 员工防疫知识培训课件
- Unit 6 A Day in the Life 同步教学设计 2024-2025学年人教版(2024)七年级英语上册
- 2025年高中化学:“四大平衡”归纳总结请查收收藏
- 人工智能对舆情分析的影响
- 2025年北海康养职业学院单招职业技能考试题库参考答案
- 2025届山东省菏泽市高三下学期一模考试历史试题(含答案)
- 2025届浙江省湖州、衢州、丽水高三11月三地市一模考试化学试卷
- 2025年湖南艺术职业学院单招职业技能测试题库参考答案
- 2025年湖南铁道职业技术学院单招职业技能测试题库学生专用
- 《临床常见心理问题》课件
- 2025年广州开发区水质监测中心第四次招考聘用编外人员2人高频重点模拟试卷提升(共500题附带答案详解)
- 教学课件:《民事诉讼法》(本科)
- 2024年吉林省生活垃圾清运和处理市场前景预测及投资规划研究报告
- 2025年湖南省高职单招《语文》高频必练考试题库400题(含答案)
评论
0/150
提交评论