首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过域身份验证将Spring托管数据源连接到MS Sql server

通过域身份验证将Spring托管数据源连接到MS Sql server
EN

Stack Overflow用户
提问于 2014-01-10 03:50:52
回答 2查看 21.4K关注 0票数 3

我在Spring Config中尝试使用JTDS驱动程序创建到MS SQL server的数据源连接时遇到错误。我正在使用来自非windows计算机的域身份验证。

错误:

代码语言:javascript
复制
Caused by: java.sql.SQLException: Login failed. 
The login is from an untrusted domain and cannot be used with Windows authentication.

Spring-Datasource.xml:

代码语言:javascript
复制
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
    <property name="url" value="jdbc:jtds:sqlserver://MS_SERVER/ms_db;domain=myDomain;integrated security=false"/>
    <property name="username" value="myUser"/>
    <property name="password" value="myPassword"/>
</bean>

我可以手动创建连接,工作方式如下:

代码语言:javascript
复制
public static void main(String[] args) {
    System.out.println("Starting Connection test");

    Connection connection;

    String url = "jdbc:jtds:sqlserver://MS_SERVER/ms_db;domain=myDomain;integrated security=false";
    try {
        Class.forName("net.sourceforge.jtds.jdbc.Driver");
        connection = DriverManager.getConnection(url, "myUser","myPassword"));
        System.out.println("Connection successful");
    }
    catch (Exception e) {
        System.err.println("Cannot connect to database server");
        e.printStackTrace();
    }
}

如有任何建议,我们将不胜感激

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-10 04:43:55

试试这个:-

代码语言:javascript
复制
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
    <property name="url" value="jdbc:jtds:sqlserver://MS_SERVER/ms_db;domain=myDomain;integrated security=false"/>
    <property name="username" value="myUser"/>
    <property name="password" value="myPassword"/>
</bean>

DBCP的依赖关系:-

代码语言:javascript
复制
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>
票数 3
EN

Stack Overflow用户

发布于 2020-11-30 01:40:30

根据http://jtds.sourceforge.net/faq.html,您需要传递useNTLMv2=true和domain=yourdomain。

尝试此连接字符串

代码语言:javascript
复制
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
    <property name="url" value="jdbc:jtds:sqlserver://MS_SERVER/ms_db;USENTLMV2=true;domain=myDomain"/>
    <property name="username" value="myUser"/>
    <property name="password" value="myPassword"/>
</bean>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21029797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档