如何开始使用 Microsoft JDBC

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

概要

本文介绍如何使用 Microsoft SQL Server 2000 JDBC 驱动程序连接到 SQL Server 2000。
 

设置 CLASSPATH 变量

Microsoft SQL Server 2000 JDBC 驱动程序 .jar 文件必须在 CLASSPATH 变量中列出。CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未在 CLASSPATH 变量中列出,尝试载入驱动程序时将出现以下错误信息:
java.lang.ClassNotFoundException:com/microsoft/jdbc/sqlserver/SQLServerDriver
设置系统 CLASSPATH 变量,加入以下各项:
/Your installation path/Lib/Msbase.jar
/Your installation path/Lib/Msutil.jar
/Your installation path/Lib/Mssqlserver.jar
以下是一个配置好的 CLASSPATH 变量的示例:
CLASSPATH=.;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

注册驱动程序

注册驱动程序的目的是为了通知 JDBC 驱动程序管理器载入哪个驱动程序。当使用 class.forName 函数载入驱动程序时,您必须指定驱动程序的名称。以下是 Microsoft SQL Server 2000 JDBC 驱动程序的名称:

com.microsoft.jdbc.sqlserver.SQLServerDriver

下面的代码示例演示如何注册驱动程序:

传递连接 URL

必须以连接 URL 的形式传递数据库连接信息。以下是 Microsoft SQL Server 2000 JDBC 驱动程序的模板 URL。请用您数据库的值替换以下值:
jdbc:microsoft:sqlserver://servername:1433
下面的代码示例演示如何指定连接 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 服务器时常见的错误信息:
java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Login failed for user 'user'.Reason:Not associated with a trusted SQL Server connection.
如果将 SQL Server 2000 的验证模式设置为“Windows 验证模式”,则会出现此错误信息。Microsoft SQL Server 2000 JDBC 驱动程序不支持使用 Windows NT 验证进行连接。您必须将 SQL Server 的验证模式设置为“混合模式”,该模式既允许 Windows 验证,也允许 SQL Server 验证。
java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC]This version of the JDBC driver only supports Microsoft SQL Server 2000. You can either upgrade to SQL Server 2000 or possibly locate another version of the driver.
当您尝试连接到 SQL Server 2000 以前的 SQL Server 版本时,则会出现此错误信息。Microsoft SQL Server 2000 JDBC 驱动程序仅支持与 SQL Server 2000 进行连接。

Driver d = (Driver)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
				
jdbc连接Microsoft SQL Server 2014 关于jdbc连接Microsoft SQL Server 2014 阅读详情

相关推荐

MS SQL Server各版本JDBC驱动包

最新版本SQL Server JDBC驱动包,还包括老版本驱动包: mssql-jdbc-8.2.1.jre8(支持SQL Server 2012/2014/2016/2017/2019) mssql-jdbc-7.2.2.jre8(支持SQL Server 2008R2/2012/2014/2016/2017) mssql-jdbc-6.2.2.jre8(支持SQL Server 2008/2012/2014/2016) jtds-1.3.1(支持SQL Server 6.5/7/2000/2005/2008/2012)

JDBC学习记录

JDBC学习记录

qq_43563660的博客 1333

mssql-jdbc-10.2.0.jre8.jar jre11,jre17

java jdbc方式连接mysql的驱动,来自MS官网下载地址。 https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15

java mssql-jdbc操作sqlserver数据库

jdbc mssql

qq_18932003的博客 2741

JDBC如何连接SQL Server数据库实现增删改查

JDBC的全称是Java数据库连接(Java DataBase Connectivity) ,应用程序通过JDBC连接到数据库,使用SQL语句对数据库中的表进行查询、增加、修改、删除等操作。此文章提供JDBC连接SQL Server的所有步骤,帮助大家实现Java对数据库的增删改查!

u013471607的博客 3万+

如何开始使用 Microsoft JDBC [微软官方文档]

如何开始使用 Microsoft JDBChttp://support.microsoft.com/default.aspx?scid=kb;zh-cn;313100察看本文应用于的产品文章编号:313100最后修改:2005年8月12日修订:3.0本页概要 设置 CLASSPATH 变量 注册驱动程序 传递连接 URL  用于测试连接的代码示例 有关排除连接故障的基本信息这篇文章中的信息适用于:

chendehui4work的备忘录专栏(邮件地址:chendehui4work@163.com) 1638

HOW TO:开始使用 Microsoft JDBC

概要本文介绍如何使用 Microsoft SQL Server 2000 JDBC 驱动程序连接到 SQL Server 2000。注意:有关 Microsoft SQL Server 2000 JDBC 驱动程序的安装说明,请参见 Microsoft SQL Server 2000 Driver for JDBC 安装指南。安装了 Microsoft SQL Server 2000 JDBC

Don't think about what u can do,but do what u wanna do 1139

sql serverJDBC 配置

1.java中使用数据库需要用JDBC(java database connection)来连接和操作 下载地址:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 2.完成后解压缩到任一盘,如:G:\Program Files\sqljdbc; 3.Microsoft JDBC...

weixin_30872789的博客 312

JDBC驱动

/**ojdbc14.jar与classes12.jar有什么区别??最近用classes12.jar,hibernate3.1老是出问题?我的oracle9.2.0.10!在网上找,发现有人用ojdbc14.jar开发,没有用过呢?看oracle的readme.txt也没有看什么呢?那位大哥知道说一下!十分感谢!-----------------------------------...

dengpinshuo2520的博客 125

java的jdbc驱动server_JDBC 驱动程序的系统要求

JDBC 驱动程序的系统要求System requirements for the JDBC driver01/29/2021本文内容若要使用 SQL ServerSQL Server 访问 Azure SQL 数据库Azure SQL Database 或 Microsoft JDBC Driver for SQL ServerMicrosoft JDBC Driver for SQL Serv...

weixin_39632212的博客 477

Confluence 6 SQL Server 数据库驱动修改

从 Confluence 6.4 开始,我们使用官方的 Microsoft SQL Server JDBC 驱动来替换掉开源的 jTDS 驱动。从这个版本开始所有的安装都会默认使用官方的 Microsoft JDBC Driver for SQL Server 。已经存在的实例将会继续使用 jTDS 驱动。我们将会帮助你整合到 Microsoft 官方的 JDBC 驱动。https://www.c...

HONEY MOOSE 492

java 访问tls1.2,Java 1.8.0在JDBC连接中启用TLS1.2

I have an SQL Server 2014 updated to the latest fixpack (12.0.5207). In the environment, the only protocol enabled is TLS1.2 (the registry keys has been set for the purpose). I can connect to the SQL ...

weixin_28728425的博客 1972

如何开始使用MicrosoftJDBC

设置 CLASSPATH 变量Microsoft SQL Server 2000 JDBC 驱动程序 .jar 文件必须在 CLASSPATH 变量中列出。CLASSPATH 变量是 Java 虚拟机 (JVM) 用于在您的计算机上查找 JDBC 驱动程序的搜索字符串。如果驱动程序未在 CLASSPATH 变量中列出,尝试载入驱动程序时将出现以下错误信息: java.lang.ClassNotFo

WebStudy的专栏 897
上一篇: 调用小程序
下一篇: 固定资产管理源码(Java)
DeathNote
博客等级 码龄20年 5粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值