使用 JDBC 驱动程序
本部分提供使用 Microsoft JDBC Driver for SQL Server 与 SQL Server 数据库建立简单连接的快速入门指导。在连接到 SQL Server 数据库之前,必须首先在本地计算机或服务器上安装 SQL Server,并且必须在本地计算机上安装 JDBC 驱动程序。
Microsoft JDBC Driver 4.1 for SQL Server 提供三个类库文件:sqljdbc.jar, sqljdbc4.jar和sqljdbc41.jar ,具体使用哪个文件取决于首选的 Java 运行时环境 (JRE) 设置。
Microsoft JDBC Driver for SQL Server 4.0 提供两个类库文件:sqljdbc.jar 和sqljdbc4.jar ,具体使用哪个文件取决于首选的 Java 运行时环境 (JRE) 设置。
有关选择哪个 JAR 文件的详细信息,请参阅JDBC 驱动程序的系统要求.
JDBC 驱动程序并未包含在 Java SDK 中。如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc.jar 文件、sqljdbc4.jar 文件或 sqljdbc41.jar 文件。如果 classpath 缺少 sqljdbc.jar 项、sqljdbc4.jar 项或 sqljdbc41.jar 项,应用程序将引发“找不到类”的常见异常。
sqljdbc.jar 文件、sqljdbc4.jar 文件或 sqljdbc41.jar 文件的安装位置如下:
<安装目录>\sqljdbc_<版本>\<语言>\sqljdbc.jar
<安装目录>\sqljdbc_<版本>\<语言>\sqljdbc4.jar
<安装目录>\sqljdbc_<版本>\<语言>\sqljdbc41.jar
下面是用于 Windows 应用程序的 CLASSPATH 语句示例:
CLASSPATH =.;C:\Program Files\Microsoft JDBC Driver 4.1 for SQL Server\sqljdbc_4.1\enu\sqljdbc.jar
下面是用于 Unix/Linux 应用程序的 CLASSPATH 语句示例:
CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_4.1/enu/sqljdbc.jar
必须确保 CLASSPATH 语句仅包含一个 Microsoft JDBC Driver for SQL Server,例如 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar。
注意 |
---|
在 Windows 系统中,如果目录名长于 8.3 文件名约定或文件夹名中包含空格,将会导致 classpath 出现问题。如果怀疑存在这类问题,应暂时将 sqljdbc.jar 文件、sqljdbc4.jar 文件或 sqljdbc41.jar 文件移动到名称简单的目录中,例如 C:\Temp,更改 classpath,然后测试这样是否解决了问题。 |
直接在命令提示符运行的应用程序
classpath 是在操作系统中配置的。将 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar 追加到系统的 classpath 中。或者,使用 java -classpath选项,可以在运行此应用程序的 Java 命令行上指定 classpath。
在 IDE 中运行的应用程序
每个 IDE 供应商都提供了在 IDE 中设置 classpath 的不同方法。仅在操作系统中设置 classpath 将无法正常工作。必须将 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar 添加到 IDE classpath。
Servlet 和 JSP
Servlet 和 JSP 在 servlet/JSP 引擎(如 Tomcat)中运行。必须根据 servlet/JSP 引擎文档来设置 classpath。仅在操作系统中设置 classpath 将无法正常工作。一些 servlet/JSP 引擎提供了设置屏幕,用于设置引擎的 classpath。在这种情况下,必须将正确的 JDBC 驱动程序 JAR 文件追加到现有的引擎 classpath,然后重新启动引擎。在其他情况下,通过在引擎安装期间将 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar 复制到 lib 之类的特定目录,可以部署此驱动程序。也可以在引擎专用的配置文件中指定引擎驱动程序的 classpath。
Enterprise Java Beans
Enterprise Java Beans (EJB) 在 EJB 容器中运行。EJB 容器来自多家供应商。Java 小程序在浏览器中运行,但是从 Web 服务器上下载的。将 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar 复制到 Web 服务器根目录,并在小程序的 HTML 存档选项卡中指定 JAR 文件的名称,例如<applet ... archive=sqljdbc.jar>.
使用 sqljdbc.jar 类库时,应用程序必须首先按如下所示注册驱动程序:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
加载驱动程序后,可通过使用连接 URL 和DriverManager 类的getConnection 方法来建立连接:
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=AdventureWorks;user=MyUserName;password=*****;"; Connection con = DriverManager.getConnection(connectionUrl);
在 JDBC API 4.0 中,DriverManager.getConnection 方法得到了增强,可自动加载 JDBC 驱动程序。因此,使用 sqljdbc4.jar 或 sqljdbc41.jar 类库时,应用程序无需调用Class.forName 方法来注册或加载驱动程序。
调用DriverManager 类的getConnection 方法时,会从已注册的 JDBC 驱动程序集中找到相应的驱动程序。sqljdbc4.jar 或 sqljdbc41.jar 文件包括“META-INF/services/java.sql.Driver”文件,后者包含com.microsoft.sqlserver.jdbc.SQLServerDriver 作为已注册的驱动程序。现有的应用程序(当前通过使用Class.forName 方法加载驱动程序)将继续工作,而无需修改。
注意 |
---|
sqljdbc4.jar 或 sqljdbc41.jar 类库不能用于较早版本的 Java 运行时环境 (JRE)。请参阅JDBC 驱动程序的系统要求 ,查看 Microsoft JDBC Driver for SQL Server 支持的 JRE 版本的列表。 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。