Java通过JDBC-ODBC连接SQL Server数据库实战
需积分: 12 81 浏览量
更新于2024-12-19
4
收藏 11KB TXT 举报
"Java程序通过JDBC来操作数据库,包括通过ODBC桥接器和直接使用JDBC驱动两种方式。本文以SQL Server 2000为例,详细介绍了使用JDBC-ODBC桥连接数据库的过程,包括ODBC数据源设置、Java代码示例以及异常处理。"
在Java中,与数据库进行交互主要依赖于Java Database Connectivity (JDBC) API。JDBC允许Java程序以统一的方式访问各种类型的数据库,无论是SQL Server、Oracle、MySQL还是其他数据库。JDBC提供了两种主要的数据库访问方式:一是通过ODBC桥接器,二是直接使用数据库特定的JDBC驱动。
首先,通过ODBC桥接器的访问方式如下:
1. 安装并配置ODBC数据源,指定数据库类型、DSN(数据源名称)、服务器、用户名和密码。
2. Java程序通过`java.sql.DriverManager`类加载ODBC桥接器驱动,例如`sun.jdbc.odbc.JdbcOdbcDriver`。
3. 使用`DriverManager.getConnection()`方法,传入ODBC数据源的URL(如`jdbc:odbc:sqlserver`)和认证信息来建立连接。
4. 创建`java.sql.Connection`对象,并使用它创建`Statement`或`PreparedStatement`,执行SQL查询、插入、更新和删除操作。
5. 最后,确保正确关闭`ResultSet`、`Statement`和`Connection`,以释放资源。
例如,以下是一个简单的Java程序,使用JDBC-ODBC桥连接SQL Server数据库并执行CRUD操作:
```java
import java.sql.*;
public class InsertCoffees {
public static void main(String[] args) {
String url = "jdbc:odbc:sqlserver";
Connection con;
Statement stmt;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
System.err.println("ClassNotFoundException: " + e.getMessage());
}
try {
con = DriverManager.getConnection(url, "sa", "");
stmt = con.createStatement();
// 创建表
stmt.executeUpdate("CREATE TABLE col_link (sitename varchar (20) NULL, siteurl varchar (50) NULL)");
// 插入数据
stmt.executeUpdate("INSERT INTO col_link VALUES ('ASP中华网', 'http://www.aspcn.com')");
stmt.executeUpdate("INSERT INTO col_link VALUES ('永远到底有多远', 'http://xuankong.com')");
// 更新数据
stmt.executeUpdate("UPDATE col_link SET siteurl='http://www.aspcn.com/xuankong/xuankongt.jpg' WHERE siteurl='http://xuankong.com'");
// 查询数据
ResultSet rs = stmt.executeQuery("SELECT * FROM col_link");
System.out.println("Col_link表中的数据如下(原始数据)");
System.out.println("站点名"+" "+"站点地址");
System.out.println("---------------"+" "+"----------------");
while (rs.next()) {
String s = rs.getString("sitename");
String f = rs.getString("siteurl");
System.out.println(s + " " + f);
}
stmt.close();
con.close();
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}
}
```
第二种方式是直接使用数据库供应商提供的JDBC驱动,这种方式不需要ODBC中间层,更高效且便于移植。数据库供应商通常会提供适用于JDBC的驱动程序,比如SQL Server的JDBC驱动(Microsoft SQL Server JDBC Driver)。通过这种方式,Java可以直接调用数据库特定的API,无需依赖ODBC,更适合在网络环境中运行的Java应用,如Applet。
总结来说,Java通过JDBC提供了一种灵活且强大的方式来操作数据库,无论数据库类型如何,都能实现标准的数据库访问,提高了开发的效率和应用程序的可移植性。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-03-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-12-19 上传
xukun123456789
- 粉丝: 0
- 资源: 1
最新资源
- 使用动画对游戏进行React App(react-spring)-React开发
- 仿SAEKO微官网html5手机网站模板_网站开发模板含源代码(css+html+js+图样).zip
- ASP文章在线发布系统(论文+源代码+任务书+实验说明).rar
- 智慧工厂知识培训资料.zip
- rails_cropit:它是jQuery的宝石,可在Rails应用程序平台上“自定义裁剪和缩放”。更多信息http
- cpp代码-用于输入年龄得到年龄月份
- chip8_rust:我对使用Rust的Chip8仿真器进行编程的看法
- non_local_train_code
- ikuy-iron2
- endpoints-example:使用端点编写的示例api
- ASP外观专利图像检索平台(源代码+论文).rar
- 超10000个常用解决方案PPT制作图标素材库(可编辑颜色解决方案PPT制作必备).zip
- SmsToEmail:Android 转发短信到指定Email(Android Forward SMS to Specified Email)
- 基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目
- java代码-将8进制数转换为十进制数。
- TensorFlow Lite的iOS例子 已编译通过,可以在iphone正常运行