`
jessen163
  • 浏览: 466716 次
  • 性别: Icon_minigender_1
  • 来自: 潘多拉
社区版块
存档分类
最新评论

JDBC 连接SQLServer数据库(Failed to load the sqljdbc_auth.dll)

SQL 
阅读更多
今天在Eclips环境下编写JSP页面访问SQLServer2008数据库,相当不容易。

首先采用JDBC访问SQL2008数据库,先要注册驱动器(即指定数据库引擎)

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

参数最好不要拼写错误,否则,绝对连不上。我已开始在网上找了一个访问SQLServer的注册函数的参数,结果适中出现错误,后来请教同学,同学也在网上找了一个。结果居然注册成功了。他说SQLServer2008 和2005以及2000 的驱动器名字都有可能不相同,SQLServer2008的驱动器名字叫com.microsoft.sqlserver.jdbc.SQLServerDriver,2005和2000可能不是这个名字。

采用windows集成方式连接

con = DriverManager.getConnection("jdbc:sqlserver://XIEE-PC\\SQLEXPRESS:2136;DatabaseName=pubs;integratedSecurity=true;");

总是会报错:

2011-4-4 20:01:35 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
警告: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:130)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2445)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2046)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2034)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4003)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1550)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1207)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(SQLServerConnection.java:1054)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:758)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.test.main(test.java:20)

上网搜了一下:网上说把sqljdbc_auth.dll拷贝到C:\Windows\System32目录下就可以了。于是在网上找那个文件下载,终于在CDSN上找到了(网址http://d.download.csdn.net/down/1870028/liangjidian)找到一个exe文件,然后运行(实际上是解压后)文件里有那个文件然后copy到那个目录

里在运行时发现能够访问到数据库了。
package com;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class test {
 public static void main(String args[]){
  Connection con;
  Statement sql;
  ResultSet rs;
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
  try {
   con = DriverManager.getConnection("jdbc:sqlserver://XIEE-PC\\SQLEXPRESS:2136;DatabaseName=pubs;integratedSecurity=true;");
   sql = con.createStatement();
   rs = sql.executeQuery("SELECT * FROM books");
   while (rs.next()) {
    System.out.print(rs.getString(1));
    System.out.print(rs.getString(2));
    System.out.println(rs.getString(3));
   }
   con.close();
  } catch (SQLException e1) {
   e1.printStackTrace();
   System.out.println(e1.getMessage());
  }
 } 
}

分享到:
评论
1 楼 dampce032 2012-03-17  
在不删掉integratedSecurity=true;的情况下可以吗,我的不行

相关推荐

    sqljdbc-auth.dll 文件

    1.SQL Server使用windows用户连接数据库报错 Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path 2.因为缺少sqljdbc_auth.dll 文件 3.下载此资源放到jdk安装路径bin目录下,解决此...

    sqljdbc_auth.dll 支持64位

    sqljdbc_auth.dll 支持64位,在Java程序使用SSL加密方式连接到sqlserver时非常有用。

    Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'

    标题 "Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'" 描述了一个常见的Java编程问题,涉及到数据库连接。在Java应用程序中,JDBC(Java Database Connectivity)驱动用于与各种...

    sqljdbc_auth.dll_64/32

    《SQL Server 数据库连接与sqljdbc_auth.dll的深入理解》 在SQL Server的数据库操作中,JDBC(Java Database Connectivity)驱动程序扮演着至关重要的角色,它允许Java应用程序与SQL Server进行通信。Microsoft ...

    com.microsoft.sqlserver.jdbc.SQLServerDriver

    2. `sqljdbc_auth.dll`(Windows)或`libsqljdbc_auth.so`(Linux / macOS):这是一个身份验证库,支持集成Windows身份验证(Kerberos和NTLM)。如果需要使用此功能,需要将该库放在系统路径中或者指定路径。 3. `...

    sqljdbc_auth.dll

    《sqljdbc_auth.dll:连接SQL Server的关键组件》 在IT领域,数据库的管理和操作是至关重要的环节,而Microsoft SQL Server作为一款广泛使用的数据库系统,其高效稳定的性能深受开发者喜爱。在与Java应用程序交互时...

    SQL Server JDBC Driver[sqljdbc.jar+sqljdbc_auth.dll].rar

    SQL Server JDBC Driver[sqljdbc.jar+sqljdbc_auth.dll] 很简洁,里面有sqljdbc.jar+sqljdbc_auth.dll(x86和64的都有),整理出来方便大家下载使用,不用积分。

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    本文将深入探讨标题和描述中提到的“com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作”这一异常,以及如何在使用Hibernate、Struts进行分页时避免这一问题。我们将从异常的根本原因...

    jdbc连接sqlserver数据库连接代码

    本文详细介绍了如何使用 JDBC 连接 SQL Server 数据库的方法,包括加载 JDBC 驱动、建立数据库连接、执行 SQL 语句(创建表、插入数据)以及查询数据。通过以上步骤,可以实现 Java 应用程序与 SQL Server 数据库的...

    sqljdbc_auth.dll.重命名x86

    sqljdbc_auth.dll 支持32位系统,在Java程序使用SSL加密方式连接到sqlserver时非常有用。

    Java程序通过JDBC连接SQLServer2000数据库全解.doc

    2. **建立连接**: 使用`DriverManager.getConnection()`方法建立数据库连接。其中需要指定连接字符串,格式为`jdbc:microsoft:sqlserver://&lt;服务器地址&gt;:&lt;端口号&gt;;databaseName=&lt;数据库名&gt;`。例如,如果数据库服务器...

    Kettle 连接 SQLServer JDBC

    在实际操作中,如果你没有足够的积分获取资源,你可以直接从 SQL Server 官方网站或者第三方提供者那里下载相应的 JDBC 驱动,如 Microsoft 提供的 `sqljdbc4.jar` 或 `mssql-jdbc.jar`。这些驱动包将包含必要的类和...

    jdbc连接sql server2016(windows 身份验证)64bit

    Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path或者 Exception in thread "main" java.lang.UnsatisfiedLinkError: ...

    jdbc连接sqlserver数据库sqljdbc4.zip

    标题“jdbc连接sqlserver数据库sqljdbc4.zip”指的是一个压缩包文件,包含了Java数据库连接(JDBC)驱动,专门用于连接Microsoft SQL Server数据库。这个驱动的版本是sqljdbc4,适用于Java开发人员在应用程序中与SQL...

    JDBC连接SQL server数据库详细全过程

    详细介绍了,使用JDBC连接SQLserver数据库的全过程,各种配置各种步骤都非常详细。 仔细看一遍,很容易上手入门。 网上JDBC的教程很多,但是都很杂,很容易出错,这个里面讲解非常好。

    sqljdbc_auth.dll 32位

    总的来说,理解并掌握sqljdbc_auth.dll在SQL Server和Java应用之间的桥梁作用,是实现安全、高效的数据库连接的关键。通过合理配置和使用,可以充分利用Windows集成安全认证的优势,提升系统的安全性和易用性。在...

    java jdk1.8 连接sqlserver数据库使用的扩展jar包-sqljdbc42

    2. **建立连接**:使用`java.sql.DriverManager.getConnection()`方法创建数据库连接。需要提供数据库URL、用户名和密码。 ```java String url = "jdbc:sqlserver://服务器地址:端口;databaseName=数据库名"; ...

    sqljdbc.jar包,java链接sqlServer数据库驱动jar包

    `sqljdbc.jar`是Microsoft提供的一个Java数据库连接(JDBC)驱动包,专为Java应用程序设计,用于与Microsoft SQL Server数据库建立连接。JDBC是Java平台的标准接口,它允许Java应用程序通过Java代码执行SQL语句,...

    JDBC连接sql server数据库

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); ``` 3. **建立连接**:使用`DriverManager.getConnection()`方法创建数据库连接。你需要提供数据库URL、用户名和密码。 ```java String url =...

Global site tag (gtag.js) - Google Analytics