java odbc sql server_Java通过ODBC访问SQL Server 2000

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所示。

a4c26d1e5885305701be709a3d33442f.png

(2)建立(ODBC)数据源和驱动程序 字串4

在控制面板上通过“管理工具”“数据源(ODBC)”打开“ODBC数据源管理器”对话框,单击“系统DSN”选项卡,然后单击“添加”按钮,得到“创建数据源”对话框,选择“SQL

Server”并单击“完成”按钮,在出现“建立新数据源到SQL

Server”对话框中“数据源名称”项填写“stu”并选取“服务器名”,然后单击“下一步”按钮,选择“使用网络登录IDWindows

NT验证”项目,单击“下一步”按钮,把默认数据库改为“test”,再单击“下一步”,单击“完成”按钮,然后可以单击“测试数据源”,成功后,单击“确定”按钮,完成了(ODBC)数据源和驱动程序建立。

3.编写代码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值