【问题标题】:MSSQL Window authentication issue with Tomcat serverTomcat 服务器的 MSSQL Window 身份验证问题
【发布时间】:2014-10-14 09:21:38
【问题描述】:

我有基于 Web 的应用程序和 MSSQL server 2012,需要使用窗口身份验证并使用 Tomcat 6 和 OS Windows 访问该数据库

但相同的功能在 MSSQL server 2008 而不是 MSSQL server 2012 上可以正常工作(窗口身份验证)。所以我可以知道原因是配置中缺少某些东西。

我将 jtds-1.2.5.jar 放在 apache\lib 目录中,并将 ntlmauth.dll 放在 C:\Windows\System32 位置,还为 dll 位置添加了系统变量“JAVA_OPTS”,但它不起作用.它给出了错误消息:

2014-10-14 13:35:35,237 ERROR  Unable to get database connection: SQL Exception occurred              
java.sql.SQLException: Cannot open database "Test" requested by the login. The login failed.

然后我将 dll 放在 jre\bin 目录中,但它不起作用,请让我做错什么。 也尝试将 dll 放在 apache\bin loc 中仍然会遇到同样的问题。

但根据客户要求,希望使用 JTDS api 而不是 Microsoft 驱动程序,因此需要 JTDS api 中的解决方案。虽然它可以在 MSSQL server 2008 上正常工作,但在 MSSQL server 2012 上无法正常工作。

我点击链接http://www.dekho.com.au/dekho-connecting-to-sql-server-using-windows-authentication/

【问题讨论】:

    标签: java sql-server tomcat6 jtds


    【解决方案1】:

    我们在使用 JDTS 时遇到了类似的问题,并且在某个时候求助于使用 Microsoft 的官方 JDBC 驱动程序。 Microsoft 驱动程序适用于 Windows、Linux 和 MacOS,并且不需要我将任何 DLL 或类似的东西放在任何地方。

    http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

    此驱动程序的唯一缺点是 (1) 它不是开源的,因此您无法在需要时更改它,以及 (2) 您需要接受许可证。但是,(2) 应该不是问题,因为您无论如何都在使用 MSSQL Server。

    最后(我不确定这是否适用于您)Microsoft 驱动程序不能与 Maven 一起使用。所以我(在 Mac 上)使用以下 bash 脚本将驱动程序安装到我的本地 Maven 存储库中。

    #!/bin/bash
    mvn install:install-file -Dfile=lib/sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar
    

    有关 JDBC 连接字符串,请参见以下网页:

    http://msdn.microsoft.com/en-us/library/ms378428(v=sql.110).aspx

    在您的情况下,由于您想要进行 Windows 身份验证,您需要确保添加

    ;integratedSecurity=true;
    

    到 jdbcUrl。

    【讨论】:

    • 但我需要使用 jtds api 访问窗口身份验证的解决方案。我的项目使用 jtds api 而不是 JDBC 驱动程序。
    • jDTS 是一个 JDBC 驱动程序。它与 Microsoft 驱动程序使用的驱动程序接口完全相同。
    • 事实上jDTS是一个开源实现,试图与官方驱动竞争。
    • 我在下面使用的是资源属性,所以下面的属性与 JDBC 兼容
    • 这正是您配置 JTDS 的方式,与您配置 Microsoft 驱动程序的方式完全相同。只更改 driverClass 和 jdbcUrl,我在原始答案中添加了这方面的信息。
    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 2019-06-28
    • 2016-01-02
    • 2019-11-17
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2012-06-10
    相关资源
    最近更新 更多