使用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());
}
}
}