概要
设置 CLASSPATH 变量
Microsoft SQL Server 2000 JDBC 驱动程序 .jar 文件必须在 CLASSPATH 变量中列出。CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未在 CLASSPATH 变量中列出,尝试载入驱动程序时将出现以下错误信息:| • | /Your installation path/Lib/Msbase.jar |
| • | /Your installation path/Lib/Msutil.jar |
| • | /Your installation path/Lib/Mssqlserver.jar |
注册驱动程序
注册驱动程序的目的是为了通知 JDBC 驱动程序管理器载入哪个驱动程序。当使用 class.forName 函数载入驱动程序时,您必须指定驱动程序的名称。以下是 Microsoft SQL Server 2000 JDBC 驱动程序的名称:
下面的代码示例演示如何注册驱动程序:
传递连接 URL
必须以连接 URL 的形式传递数据库连接信息。以下是 Microsoft SQL Server 2000 JDBC 驱动程序的模板 URL。请用您数据库的值替换以下值: con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433", "userName", "password");
服务器名称值可以是 IP 地址或主机名(假定您的网络可以将主机名解析为 IP 地址)。您可以通过对主机名执行 PING 命令来进行测试,验证是否可以接收到响应,以及响应的 IP 地址是否正确。
用于测试连接的代码示例
下面的代码示例尝试连接到数据库,并显示数据库名称、版本和可用编目。请用您服务器的值替换代码中的服务器属性: import java.*;
public class Connect{
private java.sql.Connection con = null;
private final String url = "jdbc:microsoft:sqlserver://";
private final String serverName= "localhost";
private final String portNumber = "1433";
private final String databaseName= "pubs";
private final String userName = "user";
private final String password = "password";
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
private final String selectMethod = "cursor";
// Constructor
public Connect(){}
private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}
private java.sql.Connection getConnection(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}
/*
Display the driver properties, database details
*/
public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
con= this.getConnection();
if(con!=null){
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("/tDriver Name: "+ dm.getDriverName());
System.out.println("/tDriver Version: "+ dm.getDriverVersion ());
System.out.println("/nDatabase Information ");
System.out.println("/tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("/tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next()){
System.out.println("/tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
dm=null;
}
private void closeConnection(){
try{
if(con!=null)
con.close();
con=null;
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception
{
Connect myDbTest = new Connect();
myDbTest.displayDbProperties();
}
}
如果此代码运行成功,其输出结果应类似于以下内容:
Connection Successful! Driver Information Driver Name:SQLServer Driver Version: 2.2.0022 Database Information Database Name:Microsoft SQL Server Database Version:Microsoft SQL Server 2000 - 8.00.384 (Intel X86) May 23 2001 00:02:52 Copyright (c) 1988-2000 Microsoft Corporation Desktop Engine on Windows NT 5.1 (Build 2600: ) Avalilable Catalogs catalog:master catalog:msdb catalog:pubs catalog:tempdb
有关排除连接故障的基本信息
下面是尝试连接到 SQL 服务器时常见的错误信息:Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
1333




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



