??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精品日韩,国产精品一线,97久久精品人人做人人爽50路http://www.aygfsteel.com/tbest/category/30828.htmljava先(我应该ؓ它写点什么了Q)zh-cnTue, 15 Apr 2008 12:26:05 GMTTue, 15 Apr 2008 12:26:05 GMT60四种JDBC驱动cd介绍Q{Q?/title><link>http://www.aygfsteel.com/tbest/articles/193152.html</link><dc:creator>liujg</dc:creator><author>liujg</author><pubDate>Tue, 15 Apr 2008 09:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbest/articles/193152.html</guid><wfw:comment>http://www.aygfsteel.com/tbest/comments/193152.html</wfw:comment><comments>http://www.aygfsteel.com/tbest/articles/193152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbest/comments/commentRss/193152.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbest/services/trackbacks/193152.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">关于jdbc</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">所说的""1,2,3,4"" 实际上是指jdbc驱动的四U类?本文对jdbc driver 的四U类型以及不同类型的driver适合于哪U层ơ的应用做一个简单介l? 如果你现在正准备开发有x据库的java应用,你也怼需要从|上下蝲相关数据库的jdbc driver .在下载网上你可能会发现q样的说?"this is a type 4 drvier""或this is type 3 driver那么到底应该下蝲哪一?下蝲后的driver是否适合我们要开发的应用?q是让我们先解释 一下这四种cd的具体含义吧?<br /> type 1:jdbc-odbc?<br /> type 2:本地api驱动 <br /> type 3:|络协议驱动 <br /> type 4:本地协议驱动</span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">Type 1: jdbc-odbc</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">?<br /> Jdbc-odbc ?是sun公司提供的,是jdk提供的的标准api. q种cd的驱动实际是把所有jdbc的调用传递给odbc ,再由odbc调用本地数据库驱动代?( 本地数据库驱动代码是指由数据库厂商提供的数据库操作二q制代码?例如在oracle for windows中就是oci dll 文g) </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">jdbc-odbc</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">?<br /> | <br /> odbc <br /> | <br /> 厂商DB代码---------------数据库Server </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">(</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">图一) </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">只要本地有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据?jdbc-odbcҎ对于客户端已l具备odbc driver的应用还是可行的.但是,׃jdbc-odbc先调用odbc再由odbc去调用本地数据库接口讉K数据?所?执行效率比较?对于那些大数据量存取的应用是不适合?而且,q种Ҏ要求客户端必d装odbc 驱动,所以对于基于internet ,intranet的应用也是不合适的.因ؓ,你不可能要求所有客户都能找到odbc driver. </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">Type 2: </span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">本地Api驱动 <br /> 本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库.q种Ҏ需要本地数据库驱动代码. </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">本地api驱动 <br /> | <br /> 厂商DB代码---------------数据库Server </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">(</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">图二) <br /> q种驱动比vjdbc-odbc桥执行效率大大提高了.但是,它仍焉要在客户端加载数据库厂商提供的代码库.q样׃适合Zinternet的应?q且,他的执行效率比v3,4型的jdbc驱动q是不够? </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">Type3:</span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">|络协议驱动 <br /> q种驱动实际上是Ҏ我们熟悉的三层结构徏立的. jdbc先把Ҏ局库的讉Kh传递给|络上的中间件服务器. 中间件服务器再把h译为符合数据库规范的调?再把q种调用传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型jdbc驱动E序作ؓ讉K数据库的Ҏ. </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">|络协议驱动---------中间件服务器------------数据库Server <br /> ( 图三) </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">׃q种驱动是基于server?所?它不需要在客户端加载数据库厂商提供的代码库.而且他在执行效率和可升性方面是比较好的.因ؓ大部分功能实现都在server?所以这U驱动可以设计的很小,可以非常快速的加蝲到内存中. 但是,q种驱动在中间g层仍焉要有配置其它数据库驱动程?q且׃多了一个中间层传递数?它的执行效率q不是最? </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体"><br /> Type4 </span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">本地协议驱动 <br /> q种驱动直接把jdbc调用转换为符合相x据库pȝ规范的请?׃4型驱动写的应用可以直接和数据库服务器通讯.q种cd的驱动完全由java实现,因此实现了^台独立? </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">本地协议驱动---------数据库Server <br /> ( 囑֛) </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">׃q种驱动不需要先把jdbc的调用传lodbc或本地数据库接口或者是中间层服务器.所以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装蝲M的Y件或驱动.q种驱动E序可以动态的被下?但是对于不同的数据库需要下载不同的驱动E序. </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体"><br /> </span><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">以上对四U类型的jdbc驱动做了一个说?那么它们适合那种cd的应用开发呢?Jdbc-odbc桥由于它的执行效率不?更适合做ؓ开发应用时的一U过度方?或着对于初学者了解jdbc~程也较适用. <br /> 对于那些需要大数据量操作的应用E序则应该考虑2,3,4型驱?在intranet斚w的应用可以考虑2型驱?但是׃3,4型驱动在执行效率上比2型驱动有着明显的优?而且目前开发的势是用纯java.所?,4型驱动也可以作ؓ考虑对象. <br /> 至于Zinternet斚w的应用就只有考虑3,4型驱动了. 因ؓ3型驱动可以把多种数据库驱动都配置在中间层服务?所?型驱动最适合那种需要同时连接多个不同种cȝ数据?q且对ƈ发连接要求高的应? 4型驱动则适合那些q接单一数据库的工作l应? </span></p> <p style="margin: 0cm 0cm 0pt; line-height: 140%; text-align: left" align="left"><span style="font-size: 9pt; line-height: 140%; font-family: 宋体">说了q么?那么相关的jdbc驱动应该在哪里下载呢?实际上各大数据库厂商(oracle,sybase,db2)对jdbc多都有很好的支持(微Y例外).你可以到他们的官方站点去下蝲.׃微Y一直没有开发sqlserver的jdbc驱动,所以只好用其他厂商提供的驱?q里向大家推荐几个站?<br /> <a ><span style="line-height: 140%">http://www.idssoftware.com/jdbcdrv.html</a> (3</span>? <br /> <a ><span style="line-height: 140%">http://www.jturbo.com/</a> (4</span>? <br /> <a ><span style="line-height: 140%">http://www.inetsoftware.de/(4</a></span>? <br /> 特别推荐I-net Sprinta 2000 的sqlserver驱动,因ؓ他的驱动只有47K没有旉限制,q且?型驱? </span></p> <p style="margin: 0cm 0cm 0pt"><span style="font-size: 9pt; font-family: 宋体">对于在编E时如何用JDBC建立q接,本文׃做详l介l了.读者可以在jdk中找C?目录为jdk/demo/jfc/dbdemos. 如果你下载其他厂商的驱动E序在压~文件中会有例子.如果你在applet中调用jdbc驱动讉K数据库一定要注意web server?数据?server一定要在同一台机?q是java applet 安全规范所要求?</span></p>  <br /> <br /> <p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2142387</p> <img src ="http://www.aygfsteel.com/tbest/aggbug/193152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbest/" target="_blank">liujg</a> 2008-04-15 17:04 <a href="http://www.aygfsteel.com/tbest/articles/193152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ѿ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ĵ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">찲</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ϰ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">˾</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>