如何解决jdbc异种jdbc数据库连接对象

Java 的数据 访问能力【搜狐电脑智囊团吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:43贴子:
Java 的数据 访问能力
作者:轻风
http://gentlebreeze.home4u.china.com
数据访问是现代应用软件中最为重要的任务,数据访问成本也就直接决定了语言编写成系统的成本,,本文论述了Java语言数据访问的成本,以利于程序员在实践中把握和控制。Java数据访问的主要方式是JDBC,因此本文也围绕着JDBC的各种特性来展开。安装配置的复杂性
虽然java语言的配置一直被指责为过于专业化而饱受批评,但是就整体来说,JDBC的安装配置仍然是最简单的。例如,访问某一种特殊的数据库,要做的就是将驱动程序下载并进行正确的安装和配置这样一个标准过程,接着就可以用标准的类库编程。而大部分的其他语言的开发,都要强迫客户安装一个庞大的数据库客户端,这些客户端是专有,虽然大部分是免费的,但是仍然过于复杂。因此在安装配置方面,java的成本是很低的,这使得开发人员省去了大量的时间和精力。结果集的操作能力
基于结果集的操作会屏蔽SQL语言,避免程序开发者掌握多种语言带来的代价。JDBC有着比较全面的基于结果集的处理能力,包括更新、删除、插入等操作。但是从执行效率来看,仍然低于执行SQL语句的效率,同ADO一样,程序员必须手工配置连接的特性,显式地通知系统有能力处理结果集。这种打开连接的方式同默认的只读方式相比,系统要付出更大的代价。设计者需要在复杂性和效率的问题上进行平衡来选择不同的方式。 批处理
JDBC的批处理是被很多程序员忽视的强大功能。通过批处理对常规型的反复操作的工作能够进行简单地处理。例如银行系统在日结算的时候的连续行为,不必进行反复提交,而只需要用批处理执行。事务的灵活性
事务是保持数据处理的完整性和原子性以及隔离的主要手段。JDBC在3.0版本完善了事务处理能力。SavePoint保证了程序员可以精确地控制事务的任何一共断点,可以灵活地在任何一个位置进行回滚,这在大规模的应用中,对于提高效率是极为重要的。数据连接成本和灵活性
同ADO一样,结果集是最为重要的数据访问概念。在过去的版本中,结果集意味着随时要和数据库保持连接,数据库连接又是最为重要的资源。在新的JDBC中引入了RowSet,它提供给程序员一种高度的灵活性。在对结果集进行的各种操作时可以在离线方式下进行,然后再同步,这种灵活性对于编写大规模的应用至关重要。对于JSP类型的应用其作用更加明显,RowSet可以保存到session中,从而可以跨越多个页面,成倍地提高运行和开发效率。异种数据访问能力
RowSet提供给程序员访问非关系数据的一种能力,但是这种能力仍然比ADO逊色,ADO提供了访问Windows资源的一种一致的技术访问方式,即使活动目录这种复杂的资源也可以用同样的方式访问。 数据的可视化
不幸的是java的数据可视化一直表现很差。这与java的应用范围和历史有着密切的关系,但是现在已经成为一个重要的瓶颈。ADO的可视化是成熟而完整的,无论是桌面领域还是WEB领域,都有着稳定可靠的解决方案。Creator的出现对于Java数据的可视化有了好的开始,但是仍然任重道远。数据计算能力
同ADO一样,JDBC仍然停留在数据访问这个基础上,计算能力非常薄弱。这本不是JDBC的错误。Java毕竟是第三代语言,用于构成基础架构,数据计算能力经常需要工具化的支持,是第四代语言的优势。但是在实际应用中,数据计算能力已经成为重要的程序开发成本。例如对数据进行分类汇总,如果不用SQL语句,那么就会成为一个艰苦的工作,更无法摆脱大量代码的编写。目前在这个领域还有没有超过Sybase的数据窗口的解决方案。一个好消息就是Sybase公司将把非可视化的datastore技术用于java,这使得java的数据计算能力有了质的飞跃,将大大简化基于数据的编程。
贴吧热议榜
使用签名档&&
保存至快速回贴拒绝访问 | www.jigao616.com | 百度云加速
请打开cookies.
此网站 (www.jigao616.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(427dcb-ua98).
重新安装浏览器,或使用别的浏览器网络怎么连接数据库_百度知道
网络怎么连接数据库
我有更好的答案
VB访问SQL Server数据库技术全揭密(1) 本文讨论了Visual Basic应用程序访问SQL Server数据库的几种常用的方法,分别说明了每种方法的内部机理并给出了每种方法的一个简单的实例,最后比较了每种方法性能和优缺点。 一、引言 SQL Server是微软推出的中小型网络数据库系统,是目前最常用的数据库系统之一。随着SQL Server网络数据库应用程序日益增多,这种Web数据库应用系统的正常运行一般依赖于已存在的用户数据库。创建维护数据库的工作可用SQL Server提供的SQL Enterprise Manager工具来进行,如能提供一种定制的数据库管理工具,通过管理应用程序来管理数据库及其设备,对用户来说无疑是最理想的。 Visual Basic作为一种面向对象的可视化编程工具,具有简单易学,灵活方便和易于扩充的特点。而且Microsoft为其提供了与SQL Server通信的API函数集及工具集,因此它越来越多地用作大型公司数据和客户机—服务器应用程序的前端,与后端的Microsoft SQL Server相结合,VB能够提供一个高性能的客户机—服务器方案。 二、VB访问SQL Server数据的常用方法 使用Visual Basic作为前端开发语言,与SQL Server接口有几种常用的方法,即: ①数据访问对象/Jet ②为ODBC API编程 ③使用SQL Server的Visual Basic库(VBSQL)为DB库的API编程 ④RDO 远程数据对象(RemoteData Objects) ⑤ADO 数据对象(Active Data Objects) 1、数据访问对象/Jet VB支持Data Access Objects(DAOs)的子集。DAO的方法虽然不是性能最好的管理客户机—服务器之间的对话方式,但它的确有许多优点。DAO/Jet是为了实现从VB访问Access数据库而开发的程序接口对象。使用DAOs访问SQL Server的过程如下:应用程序准备好语句并送至Jet,Jet引擎(MASJT200.DLL)优化查询,载入驱动程序管理器并与之通讯,驱动程序管理器(ODBC.DLL)通过调用驱动器(SQLSRVR.DLL)的函数,实现连接到数据源,翻译并向SQL Server提交SQL语句且返回结果。下面是一个用DAOs访问SQL Server的VB实例。 注释:Form Declarations Dim mydb As Database Dim mydynaset As Dynaset オ Private Sub Form_Load() Set mydb = OpenDatabase(&&, False, False, &ODBC; DSN=M WSID=LCL; DATABASE = sales&) Set mydynaset = mydb CreateDynaset(&Select*from Customers&) オ End Sub ァ 上述例子是以非独占、非只读方式打开sales数据库,并检索Customers表中的所有字段。OpenDatabase函数的最后一个参数是ODBC连接字符串参数,它指明了Microsoft Access连接到SQL Server所需要知道的一些内容。其中“DSN”为数据源名,“WSID”为工作站名,“DATABASE”为所要访问的数据库名。 2、利用ODBC API编程 ODBC(Open Database Connectivity)的思想是访问异种数据库的一种可移植的方式。与数据资源对话的公用函数组装在一个称为驱动程序管理器(ODBC.DLL)的动态连接中。应用程序调用驱动程序管理器中的函数,而驱动程序管理器反过来通过驱动器(SQLSRVR.DLL)把它们送到服务器中。 下面的代码使用上面一些函数先登录到一个服务器数据库,并为随后的工作设置了语句句柄。 Global giHEnv As Long Global giHDB As Long Global giHStmt As Long Dim myResult As integer Dim myConnection As Srting Dim myBuff As String*256 Dim myBufflen As Integer If SQLAllocEnv(giHEnv)&&SQL_SUCCESS Then MsgBox&Allocation couldn注释:t happen!& End If If SQLAllocConnect(giHEnv,giHDB)&&SQL_SUCCESS Then MsgBox &SQL Server couldn注释:t connect!& End If myConnection=&DSN=mySUID=LCL;PWD=;APP=ODBCTWSID=LCL;DATABASE=sales& myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len(myConnection),myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQUIED) myResult=SQLAllocStmt(giHDS,giHStmt) myResult=SQLFreeStmt(giHStmt,SQL_COLSE) rsSQL=&Select * from Customers Where City = &Hunan&& myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL)) 3、使用VBSQL对DB库API编程 DB库是SQL Server的本地API,SQL Server的Visual Basic库(VBSQL)为Visual Basic程序员提供API。从一定意义上说,VBSQL是连接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三个文件: VBSQL.VBX: 包含库函数,具有访问重要的消息和处理错误的能力 VBSQL.BI:包括所有的常量和变量说明 VBSQL.HLP:Windows帮助文件,使用VBSQL的指南 使用VBSQL时,必须将VBSQL.BI加入到Visual Basic工程文件中,并确保VB程序运行时有VBSQL.VBX文件。 一般的DB库API编程的过程是这样的:先通过调用SqlInit对DB库进行初始化,再调用SqlConnection打开一个连接,然后就可做一些工作。下面的代码是一个初始化DB库并登录到服务器的通用例程
在桌面上点击 网上邻居``
SQL服务器服务器地址:数据库用户名:数据库用户密码:数据库名:
为您推荐:
其他类似问题
您可能关注的内容
连接数据库的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。大型网站数据库系统,怎么连接那么多并发数量的?_百度知道
大型网站数据库系统,怎么连接那么多并发数量的?
大型网站数据库系统,怎么连接那么多并发数量的?比如腾讯类的大互联网公司,或者是51一类的博客,系统怎么做到同时并发连接数量,他们使用的是什么数据库和技术呢?。因为我刚刚学习数据库,并发连接数量只支持几百个。
我有更好的答案
在连接数据库的时候可以优化,使用连接池。主要就是不要频繁地创建,销毁连接。这是很费时的一个操作。因此,使用连接池来代替普通的建立连接操作,能提高并发度。使用缓存技术,并不是每次都需要去数据库里面查询的,我们其实可以把前一次的查询结果放在内存里,如果下一次用户来查询相同的内容,直接内存返回即可,不需要再次查询。这样可以大大降低查询频率。使用分布式技术,将数据库分布在多台服务器上,同时也将用户分区(如根据用户ID的哈希值分区),不同的服务器负责不同用户群,这样就能大大减少单台服务器的负载,使得整体的吞吐量提高。这几样技术可以同时使用,你的并发数量将获得非常大的提高。大型数据库介绍:1&SQL&Server  概括地说,SQL&Server具有如下特点:  A客户/服务器体系结构;  B图形化的用户界面,使系统的管理更加直观和简单。  C丰富的编程接口,为用户进行应用程序设计提拱了更大的选择余地。  D与Windows&NT操作系统的有机集成,多线程体系结构设计,提供了系统对用户并发访问的速度。  E对Web技术的支持,使用户能够很容易地将数据库中的数据发布到网上。  F价格上的优势。与其他一些大型数据库系统。如Oracle、Sybase等相比,SQL&Server的价格非常便宜。  G作为微软在Windows系列平台上开发的数据库,SQL&Server一经推出就以其易用性和兼容性得到了很多用户的青睐,是Windows环境商业应用的首选数据库。2&Oracle  甲骨文公司(Oracle)的产品,可以运行于很多操作系统之上(包括Windows),是大型企业级数据库。Oracle它是以高级结构化查询语言为基础的大型关系型数据库,是目前最流行的客户/服务器体系机构的数据库之一。提供对Internet全面支持的管理平台和系统集成工具,完全支持所有的工业标准,占有相当大的市场份额。因其专业性较强,操作繁杂,不易上手,价格较高,一般作为UNIX下的应用较多,适于大型网站选用。3&DB2  IBM公司的产品,可以运行于很多操作系统上(包括Windows),是大型企业级数据库。DB2具有很好的并行性。把数据库管理扩充到了并行的、多节点的环境。其操作简单、兼容性好,广泛应用于大型企业。  DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。因此他具有速度快、可考性好的优点。但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。4&MySQL  MySQL是当今UNIX或Linux类服务器上广泛使用的Web数据库系统。也可以运行于Windows平台。它是一个多用户、多线程、跨平台的SQL数据库系统,同时是具有客户/服务器体系结构的分布式数据库管理系统,属自由数据库系统,开放源代码数据库产品。  MySQL于1996年诞生于瑞典的TcX公司。其设计思想为快捷、高效、实用。虽然它对ANSI&SQL标准的支持并不完善,但支持所有常用的内容,完全可以胜任一般Web数据库的工作。由于它不支持事务处理,MySQL的速度比一些商业数据库块2-3倍,并且MySQL还针对很多操作平台做了优化,完全支持多CPU系统的多线程方式。  在编程方面,MySQL也提供了C、C++、Java、Perl、Python和TCL等API接口,而且有MyODBC接口,任何可以使用ODBC接口的语言都可以使用它。  MySQL是中小企业网站Linux平台的首选。MySQL在Linux下应用较多,Linux+MySQL+PHP是基于Linux的最佳组合。由于属开放源代码自由软件,性价比较高,是中小企业网站、个人网站不错的选择。
采纳率:89%
按我个人经验有以下几种方法:1.在连接数据库的时候可以优化,使用连接池。主要就是不要频繁地创建,销毁连接。这是很费时的一个操作。因此,使用连接池来代替普通的建立连接操作,能提高并发度。2. 使用缓存技术。并不是每次都需要去数据库里面查询的,我们其实可以把前一次的查询结果放在内存里,如果下一次用户来查询相同的内容,直接内存返回即可,不需要再次查询。这样可以大大降低查询频率。3.使用分布式技术,将数据库分布在多台服务器上,同时也将用户分区(如根据用户ID的哈希值分区),不同的服务器负责不同用户群,这样就能大大减少单台服务器的负载,使得整体的吞吐量提高。这几样技术可以同时使用,你的并发数量将获得非常大的提高。
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
网站数据库的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 jdbc数据库连接对象 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信