用Java访问SQL Server 2000数据库来源:
摘要:本文主要介绍采用JDBC、ODBC接口实现了与SQL Server2000数据库连接,并利用Java应用程序对其进行访问,同时通过图形用户界面实现了简单查询功能。
数据库技术和网络技术是当今计算机领域两大热门话题,数据库技术自产生以来,在技术上已发展成熟。而作为前端访问开发工具和环境仍处在不断完善和发展之中,除了网络上使用ASP、PHP、JSP作为前端连接数据库技术外,小型系统上常用访问数据库技术有Delphi、Visual Basic、PowerBuilder及VC 等,而Java也是其中之一。
Java语言是编写数据库应用程序杰出语言之一,它提供了方便访问数据技术。利用Java语言中JDBC技术,用户能方便地开发出基于Web网页数据库访问程序,从而扩充网络应用功能。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句Java API,可以为多种关系数据库提供统一访问接口。JDBC由一组用Java语言编写类与接口组成,通过调用这些类和接口所提供方法,用户能够以一致方式连接多种不同数据库系统(如Access、SQL Server 2000、Oracle、Sybase等),进而可使用标准SQL语言来存取数据库中数据,而不必再为每一种数据库系统编写不同Java程序代码。 字串2
SQL Server2000是微软公司新一代数据库产品,它是在SQL Server7.0建立坚固基础上产生,并对SQL Server7.0做了大量扩展。SQL Server2000通过高端硬件平台以及最新网络和存储技术支持,可为最大Web站点和企业级应用提供可扩展性和高可靠性。 字串6
Java通过JDBC、ODBC接口访问数据库
1 JDBC、ODBC接口
Java应用程序通过JDBC API(java.sql)与数据库连接,而实际动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序与数据库系统进行连接。ODBC(Open DataBase Connectivity)即开放式接口,它为用户提供了一个访问关系数据库标准接口,对于不同数据库它提供了一套统一API;可以使应用程序通过API访问任何提供了ODBC驱动程序数据库,而目前所有关系数据库都提供了ODBC驱动程序,所以ODBC已经成为数据库访问业界标准,并得到了广泛应用。
JDBC-ODBC桥是一种JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现。利用JDBC-ODBC桥可以使程序开发人员不需要学习更多知识就可以编写JDBC应用程序,并能够充分利用现有ODBC数据源。JDBC-ODBC桥驱动程序可以使JDBC能够访问几乎所有类型数据库。
2 利用Java应用程序访问SQL Server2000数据库
(1)建立数据库
启动“Microsoft SQL Server2000”,打开“企业管理器”在“数据库”中建立名为“test”数据库,并在其下制作名为“student”数据表,如图1所示。
在控制面板上通过“管理工具”“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL Server”并单击“完成”按钮,在出现“建立新数据源到SQL Server”对话框中“数据源名称”项填写“stu”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录IDWindows NT验证”项目,单击“下一步”按钮,把默认数据库改为“test”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序建立。
3 编写代码
将代码保存在JdbcTest.java文件中:
/**
* Java通过ODBC访问SQL Server 2000 application
* @范春江
* @version 1.00 08/05/09
*/
import java.sql.*;
public class JdbcTest{
public static void main(String [] args){
String url="jdbc:odbc:stu";
Connection con;
String sql;
Statement stmt;
String num,name,sex;
int age,math,eng,spec;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(java.lang.ClassNotFoundException e){
System.err.print("ClassNotfoundException: ");
System.out.println(e.getMessage());
}
try{
con=DriverManager.getConnection(url,"java","java");
stmt=con.createStatement();
//向student表中插入一行记录
sql="insert into student values('200108','赵小龙','男',20,71,62,76)";
stmt.executeUpdate(sql);
//检索student 中的所有记录并获取数据输出
sql="SELECT * from student";
ResultSet rs=stmt.executeQuery(sql);
System.out.println("学号 姓名 性别 年龄 高等数学 英语 专业课");
while(rs.next()){
num=rs.getString(1);
name=rs.getString(2);
sex=rs.getString(3);
age=rs.getInt(4);
math=rs.getInt(5);
eng=rs.getInt("英语");
spec=rs.getInt("专业课");
System.out.println(num+" "+name+" "+sex+" "+age+" "+math+" "+eng+" "+spec);
}
//检索高等数学成绩80分以上的学生信息
rs=stmt.executeQuery("select 学号,姓名,高等数学,英语,专业课 from student where 高等数学>=80");
System.out.println();
System.out.println("The students whose math mark is beyond 80 are: ");
while(rs.next()){
num=rs.getString(1);
name=rs.getString(2);
math=rs.getInt(3);
eng=rs.getInt("英语");
spec=rs.getInt("专业课");
System.out.println("学号="+num+" "+"姓名="+name+" "+"高等数学="+math+" "+"英语="+eng+" "+"专业课="+spec);
}
stmt.close();
con.close();
}catch(SQLException ex){
System.out.println("SQLException: "+ex.getMessage());
}
}
}
4 运行程序
首先编绎:javac JdbcTest.java
编译成功后,执行:java Jdbc
运行结果:
本文只涉及到对SQL Server2000数据库访问查询操作,也可以进行插入、删除、修改等操作。随着数据库技术迅猛发展和Java版本不断升级,利用Java对数据库访问会越来越简单,并且应用范围也会越来越广,当然还会有许多新功能等待我们去开发。