使用JDBC连接SQL SERVER2000
一,下载并安装Microsoft SQL Server 2000 Driver for JDBC软件开发包
设置CLASSPATH为安装软件包中lib文件夹中jar的路径如:
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msutil.jar;
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar
如果使用开发工具请在相应的开发工具中设置CLASSPATH
二,加载并连接
注意:Class.forName()会throw一个ClassNotFoundException异常
加载Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
连接URL:jdbc:microsoft:sqlserver://hostname:port[;property=value...]
hostname:运行SQL SERVER的主机名称
post:SQL SERVER服务的端口
property:各种属性如下含义如下:
DatabaseName:数据库名称
user:登陆名
password:密码
(因为有很都所以,具体请参考HELP)
连接:
注意:所有JDBC方法会throw一个SQLException异常:
Connection ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://szblue:1433;user=sa;password=www.mop.com");
三:执行SQL语句:
获取Statement对象:
Statement st = ct.createStatement();
使用Statement对像执行SQL语句:
无记录集返回的SQL:
String sql = "INSERT INTO [archives] ([arc_name]) values ('somevalue') ";
st.executeUpdate(sql);
有记录集返回的SQL:
String sql = "SELECT [arc_name] FROM [archives] ";
ResultSet rs = st.executeQuery(sql);
ResultSet对象是用于存储返回的记录集的.
四,取记录集中的值:
使用next()循环,next()指向下一记录前,如果有记录,为true反则为false
使用getXXX()函数取XXX数据类型的值.(注意:XXX为欲取字段的数据类型)
while(rs.next()){
//rs.getInt(0);//rs.getInt("id");
System.out.println(rs.getString("arc_name"));
}
原代码如下:
import java.sql.*;
class JDBC {
public static void main(String[] arg){
Statement st;
Connection ct;
ResultSet rs;
try{
System.out.println("正在连接数据库......");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://szblue:1433;user=sa;password=www.mop.com");
st = ct.createStatement();
rs = st.executeQuery("Select [arc_name] from [NWOA].[dbo].[archives]");
while(rs.next()){
System.out.println(rs.getString("arc_name"));
}
rs.close();
st.close();
ct.close();
}
catch(Exception e){
System.out.println(e.getMessage());
System.out.println(e.toString());
}
}
}
一,下载并安装Microsoft SQL Server 2000 Driver for JDBC软件开发包
设置CLASSPATH为安装软件包中lib文件夹中jar的路径如:
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msbase.jar;
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/msutil.jar;
C:/Program Files/Microsoft SQL Server 2000 Driver for JDBC/lib/mssqlserver.jar
如果使用开发工具请在相应的开发工具中设置CLASSPATH
二,加载并连接
注意:Class.forName()会throw一个ClassNotFoundException异常
加载Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
连接URL:jdbc:microsoft:sqlserver://hostname:port[;property=value...]
hostname:运行SQL SERVER的主机名称
post:SQL SERVER服务的端口
property:各种属性如下含义如下:
DatabaseName:数据库名称
user:登陆名
password:密码
(因为有很都所以,具体请参考HELP)
连接:
注意:所有JDBC方法会throw一个SQLException异常:
Connection ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://szblue:1433;user=sa;password=www.mop.com");
三:执行SQL语句:
获取Statement对象:
Statement st = ct.createStatement();
使用Statement对像执行SQL语句:
无记录集返回的SQL:
String sql = "INSERT INTO [archives] ([arc_name]) values ('somevalue') ";
st.executeUpdate(sql);
有记录集返回的SQL:
String sql = "SELECT [arc_name] FROM [archives] ";
ResultSet rs = st.executeQuery(sql);
ResultSet对象是用于存储返回的记录集的.
四,取记录集中的值:
使用next()循环,next()指向下一记录前,如果有记录,为true反则为false
使用getXXX()函数取XXX数据类型的值.(注意:XXX为欲取字段的数据类型)
while(rs.next()){
//rs.getInt(0);//rs.getInt("id");
System.out.println(rs.getString("arc_name"));
}
原代码如下:
import java.sql.*;
class JDBC {
public static void main(String[] arg){
Statement st;
Connection ct;
ResultSet rs;
try{
System.out.println("正在连接数据库......");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://szblue:1433;user=sa;password=www.mop.com");
st = ct.createStatement();
rs = st.executeQuery("Select [arc_name] from [NWOA].[dbo].[archives]");
while(rs.next()){
System.out.println(rs.getString("arc_name"));
}
rs.close();
st.close();
ct.close();
}
catch(Exception e){
System.out.println(e.getMessage());
System.out.println(e.toString());
}
}
}
本文详细介绍了如何使用JDBC连接到SQL SERVER2000,包括下载安装JDBC驱动,设置CLASSPATH,加载驱动,建立数据库连接,执行SQL语句以及从结果集中获取数据的方法。通过示例代码展示了完整的连接过程。
356

被折叠的 条评论
为什么被折叠?



