Java语言中访问SQLSeryer 2000的方法

来源 :网络与信息 | 被引量 : 0次 | 上传用户:woshizhuwoshizhu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在Java语言中主要是通过JDBC与各种数据库进行数据通信,JDBC是Java语言中用于访问数据库的API。和其它数据库编程环境相比。利用Java编程语言和JDBC开发的程序是独立于平台和厂商的。为了便于配置JDBC而又尽量不对程序代码做大量改动,JDBC被设计成分层式的结构。
  Java应用程序通过JDBCAPI直接与JDBC驱动程序管理器进行通信,向管理器发送各种不同的SQL语句;而驱动程序管理器再和各种不同的第三方驱动程序通信,由这些具体的第三方驱动程序负责连接数据库,返回查询信息或执行查询语句指定的动作。
  
  1、安装JDBC和JDBC驱动程序
  
  如果已经安装了JDK1.4.1,就已经安装了JDBC包,你也可以从Sun公司主页下载JD-BC的最新版本,然后把它与当前的开发环境结合起来,但需注意要确保版本号兼容,并遵循安装指导。
  连接SQL server数据库的JDBC驱动程序可以直接到微软公司主页免费下载。通常这类驱动程序被封装成ZIP或JAR文件,获得后需要把它们的存放路径加到CLASSPATH中,微软公司的JDBC驱动程序包是一个setup.exe文件,需要安装到系统中,安装后的驱动程序主要是三个JAR文件。它们是msbase.jar、mssqlserver.jar和msutil.jar。
  在代码开始部分一定要用如下语句导入JDBC包,否则程序无法真正使用JDBC:im-port java.sql.:
  
  2、连接数据库
  
  2.1确定数据源
  当连接一个数据库时,必须指定数据源,JDBC用类似于URL格式确定数据源,连接SQL Server 2000数据源的格式为:jdbc:mi-crosoft:salserver://hostname:port [:proper-ty=value…]。
  其中:表示要连接的主机名或IP地址;表示要连接的SQL Server2000数据库的网络端口号,例如1031;Prop-erty=value是连接数据库时需附加的一些特殊的属性值对,例如user=sa,表示连接数据库的用户名为“sa”。
  注意当计算机已连到局域网中,也可用本机IP地址替换,如果只是在单机上测试,则最好用计算机名表示,否则可能连接不上数据库。
  2.2建立连接
  JDBC中的DriverManager类负责选取用于连接数据库的驱动程序和建立新的数据库连接,但是驱动程序管理器只能激活已经注册的驱动程序。注册SQL Server 2000数据库驱动程序可以采用的方法为:Class.forName(“com.microsoft idbc.sqlserver.SQLServerDriver”)。
  当成功注册了驱动程序后,就可以创建一个数据库连接,在JDBC中用Connection类实例表示数据库连接,这个类实例由Driver-Manager类的getConnection( )方法返回,具体操作如下所示:
  String url=“jdbc:microsoft:sqlserver://jszx-wx:1433;databasename=student;Us-er=sa;Password=123”;Connection conn=DriverManager.getConnection(url)
  其中,user和password分别为连接数据库的用户名和口令。
  
  3、执行动作命令
  
  3.1生成Statement对象
  通过DriverManager取得数据库连接之后。就可以生成Statement对象,使用它可以执行各种SQL命令。通过调用Connection对象的createStatement( )方法来创建Statement对象,操作如下所示:
  Statement stmt=conn.createStatement( ):
  3.2执行各种动作命令
  (1)executeUpdate()方法
  这个方法可以执行大多数数据库操纵语言(DML,Data Manipulation Language)语句。此方法接受一个String类型参数,参数即为要执行的SQL语句,方法返回一个整数值,表示这个SQL语句修改的记录数,对于DDL命令,返回值总为数值0。
  (2)executeQuery( )方法
  这个方法可以执行SELECT查询,它有一个String类型参数,参数即为要执行的查询语句。此方法返回一个ResultSet对象。可以利用它来处理查询结果。处理查询结果时可以一次一行地进行处理,处理某一行前首先要将Re-sultSet的光标移到这一行,光标所指的行称为当前行,需要注意的是当生成ResultSet时,光标指向第一行前面,所以要正常访问首记录时应首先执行ResultSet的next( )方法,将光标移到第一行上,next( )方法的作用是使当前行的下一行成为当前行,如果当前行是结果集中的最后一行,则返回false。否则为true。
  3.3释放资源
  当Connection、Statement及ResultSet对象使用完毕,应该释放这些资源,否则可能造成其它应用程序无法使用它们。而且当生成大量连接时应用程序性能会明显下降,这些对象都有一个close( )方法,可以通过调用它来显式释放数据库资源,例如下列代码所示:
  rset.close( );
  stmt.close( );
  conn.close( );
  
  4、处理错误
  
  在实际操作数据库过程中有可能引发各种错误,JDBC主要通过两个类来处理这些错误:
  4.1 SQLException类
  在java.sql包中定义的大多数方法都可以抛出SQLException,我们可以通过添加try和catch代码来捕获它们。SQLException类提供了许多方法供我们获得各种错误信息,例如以下方法:
  getMessage( ):获得描述错误的消息;
  getErrorCode( ):返回表示错误的整数值,这个值是驱动程序特定的,要解释它可以参考相应驱动器文档。
  4.2 SQLWarning类
  在某些数据库操作中发生的错误类型可能不重要,这时不会中断应用程序的执行,因此不会抛出异常,而是产生错误警告,附加在对象上,如果想了解这些警告信息,可以通过对象的getWarnings( )方法获得。
其他文献
去年9月,老牌看图工具推出其英文版ACDSee9.0,在经过了近半年的等待后,我们终于可以用上中文版的ACDSee9.0了。于近日发布的中文版ACDSee9.0增加了很多实用功能,比如:具有更快的查看速度,增加了“阴影/高光”工具,增加了“隐私文件夹”加密的功能,新增“日历事件”视图,新增加了“组合方式”可以让你快速整理文件……新版的ACDSee不仅仅是一个看图软件而已。集成了诸多的图片管理和安全
期刊
每到黄金周,外出旅游自然是大家的首选。然而,要做好哪些准备工作才能确保旅途的愉快呢?的确,要外出旅游有很多准备工作要做:查询所在景点的地图、熟悉所到城市的风土人情、车票酒店预订,当然,天气情况也是必须提前了解的,甚至公交线路也有必要了解,如果是自驾游,还必须关注行车路线……这么多事情,着实有些麻烦,俗话说,“一个好汉三个帮”,要做好五一旅游前的准备工作,我们也有必要请几个“好汉”来帮助我们,下面就
期刊
校园与Internet相连,可以使老师和学生得到大量的信息资源,开阔眼界和知识面,所以组建校园网成了促进学校教育现代化的必经之路。作为校园网内部网络和互联网连接枢纽的路由器,在其中发挥着举足轻重的作用。因此对于路由器的管理和维护是每个校园网管理员必不可少的主修课。  考虑到中小学校园的通用性,我们主要介绍校园网中常见的路由器Cisco 2612的维护内容,当然本文内容也可以适用于更高性能的Cisc
期刊
摘要:本文提出一种基于DWT的数据隐藏及检测算法,利用要隐藏数据控制生成图像,产生8×8的小图块,每一块只可选两种颜色之一,在检测时充分利用该特性,使检测结果准确,对噪声具有较强的鲁棒性。  关键词:水印;离散小波变换;鲁棒性  中图分类号:TP391    1、介绍    随着计算机技术的发展与应用,数字技术得到了快速发展与应用,特别是近几年网络的快速发展,越来越多的人使用Internet传输数
期刊
摘要:公钥基础设施是一个用非对称密码算法原理和技术来实现并提供安全服务的具有通用性的安全基础设施,能够为所有网络应用透明地提供采用加密和数字签名等密码服务所需要的密钥和证书管理。  关键词:PKI;证书;认证中心    1、引言    PKI是一种遵循标准的利用公钥加密技术为网上电子商务、电子政务的开展,提供一整套安全的基础平台。用户利用PKI平台提供的安全服务进行安全通信。PKI这种遵循标准的密
期刊
摘要:本文首先明确了在嵌入式系统中,需要一个比目前更可靠、高效的Flash文件系统。随后介绍了一种新的Flash文件系统,并对其存储组织结构和基于VxWorks系统时钟中断的Flash读写方法作了详细的阐述。这种Flash文件系统已成功应用于通信系统中。 关键词:VxWorks;Flash;系统时钟    1、引言    在嵌入式系统中,Flash存储区需要一个可靠、快速和节约CPU资源的管理方
期刊
摘要:本文提出了一个基于数据挖掘技术的入侵检测系统,其中主要采用了时间序列模式挖掘方法——TFSE算法挖掘入侵模式。该系统实现了规则库的自动更新,极大地提高了系统的整体性能。  关键词:网络安全;入侵检测系统;数据挖掘;    TFSE算法    1、引言    入侵检测被定义为发现非授权使用计算机的个体或计算机系统合法用户非法访问系统以及企图实施上述行为的个体。  入侵检测系统分为3大类:基于网
期刊
摘要:Web 2.0时代下,基于C/S的系统模型将受到挑战-作为网络结构的边缘点的Client将与Server越来越对等化,基于P2P的网络将大大提升网能放大作用,但是其无序性特征却给电信骨干网带来较大冲击。新兴的内容分发网络(CDN,Content DeliveryNetwork)虽然具有较强的结构化特点,但是其放大能力受扩展成本的限制。本文针对这两种结构互异网络的优劣势,在CDN网络基础上,融
期刊
摘要:字符串是编程中经常用到的数据类型,Java中String类是一种复合数据类型。String类对象的创建有两种形式。String类的是否相等的比较也有“==”和equals()两种。本文从栈与堆的工作原理着手分析String类对象的相等比较。  关键词:栈;堆;字符串    String是一个系统定义的类——不是基本数据类型。有关字符串处理的方法非常之多.但字符串的比较操作有些复杂,有时两个“
期刊
近日,知情人士透露,尽管IPTV标准极其广泛而且复杂,但一些最关键的标准将确定,尤其是将首先确定机顶盒标准,解决机顶盒和系统的接轨,这将对IPTV的产业化具有重要影响。    IPTV标准复杂    目前IPTV标准虽然从国际到国内研究多年,但迟迟未颁布国际标准或国内标准,令设备商无所适从。  对此,信产部电信研究院不愿透露姓名的权威专家表示,现在大家对IPTV的标准可能看得太简单了,电话要实现通
期刊