Class.forName(sun.jdbc.odbc.jdbcodbcdriver) JDBC-ODBC桥接方式
[size=xx-large][size=x-large]1.JDBC有几种驱动类型:
type 1:jdbc-odbc桥
type 2:本地api驱动
type 3:网络协议驱动
type 4:本地协议驱动
Type 1: jdbc-odbc桥
Jdbc-odbc桥是sun公司提供的,是jdk提供的的标准api. 这种类型的驱动实际是把所有jdbc的调用传递给odbc ,再由odbc调用本地数据库驱动代码.( 本地数据库驱动代码是指由数据库厂商提供的数据库操作二进制代码库,例如在oracle for Windows中就是oci dll 文件)
jdbc-odbc桥 ---- odbc---- 厂商DB代码 ----- 数据库Server
(图一)
只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc-odbc方法对于客户端已经具备odbc driver的应用还是可行的.但是,由于jdbc-odbc先调用odbc再由odbc去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据量存取的应用是不适合的.而且,这种方法要求客户端必须安装odbc 驱动,所以对于基于internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到odbc driver.
Type 2: 本地Api驱动
本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库.这种方法需要本地数据库驱动代码.
本地api驱动----厂商DB代码-----数据库Server
(图二)
这种驱动比起jdbc-odbc桥执行效率大大提高了.但是,它仍然需要在客户端加载数据库厂商提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的jdbc驱动还是不够高.
Type3:网络协议驱动
这种驱动实际上是根据我们熟悉的三层结构建立的. jdbc先把对数局库的访问请求传递给网络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器.如果中间件服务器也是用java开发的,那么在在中间层也可以使用1,2型 jdbc驱动程序作为访问数据库的方法.
网络协议驱动---------中间件服务器------------数据库Server
( 图三)
由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.
Type4 本地协议驱动
这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了平台独立性.
本地协议驱动---------数据库Server
( 图四)
由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器.所以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件或驱动. 这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.
以上对四种类型的jdbc驱动做了一个说明.那么它们适合那种类型的应用开发呢?Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学者了解jdbc编程也较适用. 对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在intranet方面的应用可以考虑2型驱动,但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象. 至于基于internet方面的应用就只有考虑3,4型驱动了. 因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库, 并且对并发连接要求高的应用. 4型驱动则适合那些连接单一数据库的工作组应用.
http://www.ha97.com/3989.html
http://developer.51cto.com/art/201612/525288.htm?mobile
PS:Sun以前一直是我膜拜的伟大公司之一,也是开源社区和技术创新的领头羊。一直认为Sun被Oracle收购是开源社区的大杯具。Sun的市值曾经超过2000亿美元,就在Sun最低潮的时候,74亿美元的便宜价就被Oracle收购了。Oracle把Sun买来之后,清理掉了所有不太听话的管理精英和优秀工程师,然后请来个惠普的色狼接管原来 Sun的硬件生命线。转发此文以纪念杯具的 Sun, OpenSolaris, Kenai, Scott, James。
Java创始人詹姆斯·高斯林(James Gosling)
Oracle董事长兼CEO 埃里森近一个月三度成为媒体追逐的对象。8月12日,Oracle宣布就Google Android手机操作系统侵犯Java版权和专利一事,状告Google8月17日,Oracle宣布放弃OpenSolaris计划9月6日,Oracle宣布聘请前 惠普董事长兼CEO赫德为Oracle联合总裁。这三件貌似不太关联的事件,实则大有名堂。应该从Sun如何日暮西山说起。
成败皆因Oracle
同为公司创始人的埃里森和Sun董事长兼CEO麦克尼利曾经因为共同的爱好——反对微软而被称为硅谷斗士,又因为共同的生意——双方都以对方为最大客户而成为生意伙伴。然而,在网络泡沫破灭时,这对志同道合的朋友却兄弟阋墙了。
Sun靠工作站起家,后来凭借SPARC处理器和Solaris操作系统占领高端服务器市场。SPARC和Solaris性能和可靠性在业界有口皆碑,当然价格也不菲。但那时企业级市场上钱不是问题。Oracle公司的数据库产品此时与Solaris平台相得益彰。
网络泡沫破灭后,用户开始关注投资回报,钱成了最大的问题。Oracle为了保住自己的利益,做的事情就不够朋友了。
2002年6月,Oracle宣布推出数据库Oracle9i RAC。正是这款数据库把Sun逼入日薄西山的境地。这款数据库产品能运行在红帽Linux平台上,也能运行在x86架构上。更要命的是Oracle9i RAC与红帽Linux都预装在戴尔的x86架构服务器中。低成本的x86架构和Linux替代了SPARC和Solaris,而且预装使用户的麻烦大大 减少。埃里森做得更绝的是,将Oracle的整体运营迁移到x86平台,而且声明未来产品先在x86平台上开发,然后移植到SPARC平台上。Oracle的以身作 则,无异于告诉用户,Sun能干的事情,x86平台都能干,而且更便宜。
Oracle和用户双赢了,而Sun因为当时没有x86服务器,成为最大的输家。
Java带给Sun的只有声誉
为智能家电开发的Java,不想“有心栽花花不开,无心插柳柳成荫”,在家电市场毫无起色,却因其“一次编程,到处可跑”的跨平台特性,赶上了互联网的高速发展时机,在企业级市场上大放异彩。
Java对于Sun来说“华而不实”。除了带来声誉外,Java并没有直接给Sun带来与其声誉相当的回报。这倒不是Sun多么无私,实际上 Sun曾尝试过。在上世纪90年代末,Java的蓬勃发展让Sun感觉收获的季节到了,Sun成立了Java应用部门JavaSoft。不料,Sun这种 “既当运动员,又当裁判员”的做法遭到了Java应用厂商的强烈甚至过激反应。虽然当时Java社区的发展很快,但如果Sun在应用市场上分羹,会使 Java前程未卜。三思之后,Sun撤销了JavaSoft部门,退守开发Java 平台,从对企业的授权上赚些小钱。
Sun的主要经济来源是Solaris和SPARC。本质上说,Sun是一家硬件厂商。但是由于受到Oracle9i RAC的致命一击,Solaris和SPARC也朝不保夕。
2006年,接任麦克尼利的CEO施瓦茨的当务之急就是先稳住然后再去发展SPARC的用户群。“先尝后买”的免费策略无疑能招揽到客户。但对 于Sun来说,服务器白送是送不起的,只能白送Solaris。这样的做法令人匪夷所思:桌面级的Windows还卖钱,企业级的Solaris怎么白送 呢?
施瓦茨的想法是:号称史上最强的操作系统的开源,足以让关键业务应用的客户打消在Solaris安全上的顾虑,而Solaris与SPARC相 互优化得最好。因此,喜欢Solaris的用户也会喜欢SPARC,从而达到促销SPARC的目的。于是,Sun推出了Solaris的开源项目 OpenSolaris,并承诺OpenSolaris的开源代码与正在研发中的Solaris代码相同。
到了2006年底,Sun宣布将Java开源。显然,Sun寄希望于,运行Java最好的平台是Solaris,而Solaris最好的硬件平台是SPARC。只要用户对开源后的Java有信心,那他们就是SPARC的潜在客户。
然而,施瓦茨的如意算盘在去年4月Oracle以74亿美元收购Sun之后就再也拨不响了,毕竟软件厂商才知道软件的价值,谁当家谁说了算。
Oracle为何起诉Google
虽然Sun不再涉足Java应用市场,但企业使用Java仍要向Sun购买使用授权,通常这些都是小钱。Sun的最大一笔横财是2004年微软 以16亿美元一次性了结与Sun在Java上的恩恩怨怨。最抠门的要算Google了,它在其手机操作系统Android中无偿使用了Java。
虽说定位于企业级市场的Oracle对手机不屑一顾,但对于Google这样坏了规矩的带头大哥,还是必须管管的,否则,谁还会再交钱呢。但是,Oracle起诉谷 歌还应该有更深层次的原因,或者跟Oracle在开源政策上的变化直接相关。今年3月,Oracle将OpenSolaris的使用授权缩短到90天,逾期必须购买相 应的服务,接着在4月取消了OpenSolaris光盘的免费派送。到了8月17日,Oracle通过邮件称,将集中精力开发企业级Solaris,不再 对OpenSolaris进行实时更新。8月23日,负责OpenSolaris社区开发和维护的OpenSolaris管理会(OGB)成员集体辞职。 这意味着OGB把OpenSolaris的控制权交还Oracle,这正中Oracle的下怀。来自Oracle网站的消息称,负责硬件业务的全球执行副总裁John Fowle近日在视频会议上公布了Oracle + Sun产品战略及产品路线图。Fowle称,Oracle将首先致力于打造面向Oracle应用软件最开放的服务器,并为SPARC做好了长达五年的详细计划。 Oracle将继续支持运行英特尔芯片的x86机架服务器和刀片服务器。显然,SPARC重新获宠。Oracle英文网站说得更直接:Oracle提供世界上最完整、开放、 集成的商业软件和硬件系统,Oracle是唯一有能力提供完整的技术栈的供应商,栈中每层都被集成起来,像一个单一系统一样工作。换句话说,Oracle将以 SPARC为主,为客户提供一站式的完全解决方案。当Oracle万事不求人的时候,自然也就用不着OpenSolaris和Java当招牌、做幌子了,甚至可 以说,重新收回Java的控制权对Oracle更为有利。Oracle在Java上拿Google说事儿,要钱应该只是表面现象,深层次的原因是要传递出与 OpenSolaris类似的声音。而Google既非传统企业级软件厂商,又不支付授权费,自然成为Oracle在对Java有所动作前,试探Jave社区乃至IBM 等企业反应的合适对象。
赫德跟Oracle对脾气吗
别看麦克尼利与微软斗争时像一头咆哮的公牛,但他的刀子嘴都用在了盖茨身上,对员工却是豆腐心。在网络泡沫破灭后,资本市场多次对麦克尼利施加裁员压力,基本上都被他回绝,这成了麦克尼利被迫辞职的原因之一。
Sun是一个典型的技术驱动型公司,以不足IBM十分之一的员工规模维持着包括处理器、服务器、操作系统、存储、Java、数据库等在内的冗长产品线。这需要技术精英文化。
Oracle收购Sun后,硬件的市场推广成为软肋,迫切需要一个冷面成本杀手。
笔者曾经在2006年夏季在硅谷采访惠普全球分析师大会,那一年正好惠普首次超出IBM成为全球最大IT企业。赫德在主题演讲中谈论最多的是增长、成本和资本三角形,“技术”一词似乎不在赫德的口语辞典中。换句话说,赫德是靠管理和市场在规模上超越IBM的。
9月6日,惠普前任CEO辞职仅1个月就闪电般地在Oracle“再就业”,说明埃里森对赫德这个冷面杀手寄予了很高的期望,希望他能“昨日重现”,让Oracle也超越IBM。
如果埃里森把目标定为IBM,那当下惠普董事会对赫德的起诉正合埃里森之意:两家闹僵后,惠普平台上的Oracle用户保不齐会选择Oracle的软硬件解决方案,而且惠普还背上了率先撕破脸皮的名声。
如果说惠普只是在年收入上超过IBM的话,Oracle跟IBM在从服务器、存储到操作系统、数据库、应用软件等领域针锋相对的竞争还是很有技术含量的。
和不得不与惠普董事会勾心斗角相比,赫德得到在Oracle一手遮天的埃里森力挺,能全力以赴地与竞争对手周旋,但赫德还要直面企业内部的挑战,他既 要适应Oracle的企业文化,还得尊重Sun的传统。即便是赫德都适应了,Sun的技术精英也未必能适应。这不,2010年4月2日,Java之父高斯林离开了Oracle。之后2011年3月29日加盟Google。
在收购了 Sun 公司的六年后,Oracle 正在大规模的加大对违反其许可证的 Java 客户的审查力度。
越来越多的 Oracle 客户和合作伙伴被拉里·埃里森的团队约谈,称他们没有遵守 Java 的规矩。
Oracle 在 2010 年 收购了 Sun Microsystems 公司 ,知情人士透露现在它的许可证管理服务(LMS) 正在到处追缴付款。
该数据库巨头公司目前已经在全球雇佣了 20 个人专门来负责对那些违反 Java 许可证的企业进行追缴付款。
作为回应,行业合规专家组也在不断的扩充人马,招聘更多 Java 专家、扩大预算来应对和参与到 2017 年来自 LMS 的更多诉讼。这其中牵扯了太多的金钱利害关系,每个客户涉及的金额可能数万、数十万美元。
处于事件中的 Java 版本是 Java SE,有三种付费方式,从每用户 40 美元到 300 美元,或者每处理器 5000 到 15000 美元。
The Register 了解到零售行业的一个拥有 8 万台 PC 的客户已经收到了 Oracle 的通知,称其违反了 Java 许可证。Oracle 还告诉了另外一个客户其欠下了 10 万美元,但这笔欠款现在可以优惠 3 万美元。
专家们建议谨慎下载 Java SE ,已经下载的应该在 LMS 打电话过来之前对其使用进行审查并做好准备。这些大师们告诉 The Register 网站,寻求 Java 许可证帮助的客户呈上升趋势,这些客户在 2016 年下半年就已经收到了 LMS 的通知。
“Oracle 已将次当成问题着手处理,” 一个不愿意透露姓名的专家告诉 The Reg 网站。我们的消息来源显示此类信息的查询数量在过去的五个月内不断上升。
Palisade Compliance 的 CEO 和创始人 Craig Guarente 告诉我们 Oracle 的 LMS 并不管你到底是客户或者是合作伙伴。
他告诉我们说:“Oracle 把枪口对准合作伙伴,这些正在帮助 Oracle 的公司”。合作伙伴们都想知道,Oracle 怎么可以这样对待他们?
Guarente 说:“因为 Oracle 不断的推动,使得 Java 让我们和客户之间的关系越来越紧密。”
其根本的原因是大家对 Java 错误的认知,都认为 Java 是免费的!
这种错误的感知可以追溯到 Sun Microsystems 公司的时代在 Sun 的领导下 Java 是免费的,在 Oracle 也是!但是 Sun 也曾对像 IBM 和制造蓝光播放器的厂商收取许可证费用。尽管绝大多数的使用者是不收费的。这是因为 Sun 利用 Java 来帮助其销售各种系统。
而现在 Oracle 决定让 Java 商业化的步伐迈得更快。
Java SE 是一个广泛的、包罗万象的下载,包括 Oracle 在 2014 年 2 月推出的 Java SE Advanced Desktop,以及在 2011 年 5 月推出的 Java SE Advanced 和 Java SE Suite。
Java SE 是免费的没错,但是 Java SE Advanced Desktop, Advanced 和 Suite 并非免费。例如需要为每个用户付费 300 美金以及 66 美金的服务支持费用如果是按处理器计算的话,单个处理器需要 15000 美金以及 3300 美金的服务支持费用。Java SE 包含免费的 JDK 和 JRE,但是 Advanced Desktop, Advanced 和 Suite 以及一些额外的功能却是收费的,如 Java Mission Control 和 Flight Recorder (也叫 JRockit Mission Control 和 JRockit Flight Recorder)
此外还有用于大规模 Java 部署的 Microsoft Windows Installer Enterprise JRE Installer 。
Oracle 定义 Java SE 是免费的前提是“通用计算” —— 涉及到的设备包括桌面电脑、笔记本、智能手机和平板电脑。而 Oracle 许可证中规定作为智能系统中专业的嵌入计算机来说并非免费,Oracle 后来又补充了一些其他设备,包括移动电话、手持设备、网络交换机以及蓝光播放器等。
听起来足够简单,不是吗?但是客户在这些设备上越来越多的受到 LMS 的限制。愿意是目前没有办法将那些需要付费的 Java SE 子产品从免费的 Java SE 保护伞中剥离开来,Oracle 本身也没有提供独立的安装软件。
所以你只能成为一个 Java SE Suite 这个大杂烩的用户,尽管你只想要其中的一部分内容,然后根据 Oracle 的要求进行付费。
如果你想大规模的部署 Java SE,则需要 Microsoft Windows Installer Enterprise JRE Installer 这个工具 ,而这个工具并非免费 Java SE 的一部分。
“人们尚未意识到,” Guarente 对 The Reg 说:“他们认为 Java 是免费的,因为它是开源的,因此可以使用。这其实并不是 Java 的协议写得不清楚,而是人们对它产生了误解。”
我们那个不愿意透露姓名的合规专家同时还补充道:
如果你下载了 Java 你就获得了 Java 的所有内容,你需要确保你只装了你有权使用的那部分,同时删除没用的内容。使用了任何需要付费的特性都是商业用途。协议中的“一般用途” 是非常模糊的定义,这也是产生很多纠纷的原因。
当你作为一个组织,分发一些包含 Java 的东西给终端用户—— 而且越来越多的公司也通过分发应用让客户获得产品和服务,这些都不是“一般用途”,现在 Oracle 想从中赚钱!
为什么 Oracle 选择在收购 Sun 公司六年后才这样做呢?
我们认为这是因为 Oracle 的 LMS 是在详细了解 Java 的各个方面,并设计有针对性的审计方法。
LMS 现在已经准备好在 2017 年对 Java SE 的用户开枪了!
“我预计 Oracle 在 2017 年会增加这方面的投入,” Guarente 告诉 The Reg. “所有的趋势都显示 Oracle 的 LMS 审计团队越来越咄咄逼人,正积极努力在这方面获取更多收入。我不认为 2017 年我们能看到一个仁慈、温和的 Oracle。”
我们该怎么做?
一位不愿意透露姓名的专家警告说:“如果你下载了 Java ,你就获得了所有 Java 的东西。你需要确保你只安装了你有权的组件,那些你没用到的内容最好删除”。
“如果你已经在用 Java,请确保你真正在使用的具体组件,以及它们是如何被使用的。请在 Oracle 找到你之前先对这些问题进行验证。”
尽管 The Register 网站不断的在请求,但 Oracle 目前尚未对本文做出评论。
你可以去HP官方去根据你机器的服务器的型号去找驱动..如果还找不到.那你就只能看你阵列卡的型号。去驱动之家找找驱动.济南龙媒科技有限公司,为你提供戴尔(DELL),HP,IBM,SUN,联想,华硕,浪潮,曙光等品牌服务器的专业维修和配件销售及升级服务,充分满足您快速免费检测/维修购买的需求。济南龙媒科技,最好的服务器维修和配件供应商
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)