Sql Server windows Authentication

本文指导如何在Windows环境下使用JDBC进行数据库连接,特别针对加入Windows Authentication的情况。通过详细步骤,确保本地和远程机器能成功连接数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务有需求,需要加入windows Authentication,然后就各种搜索,终于还是解决了。

测试代码:

import java.sql.DriverManager;
import java.sql.SQLException;
import net.sourceforge.jtds.jdbc.Driver.*;
/**
 * @author:kenny dong
 */
public class JDBCDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try{ 
			//记得import net.sourceforge.jtds.jdbc.Driver.*;
			Class.forName("net.sourceforge.jtds.jdbc.Driver") ; //加载MySql的驱动类   
	    }catch(ClassNotFoundException e){   
	    	System.out.println("找不到驱动程序类 ,加载驱动失败!");   
	    	e.printStackTrace() ;   
	    }
	    //String url = "jdbc:jtds:sqlserver://172.20.30.107:1433/SQLEXPRESS;databasename=LRIReporterMIS;USENTLMV2=true";    
		String url = "jdbc:jtds:sqlserver://172.20.20.186:1433/sqlexpress;databasename=LRIReporterMIS;USENTLMV2=true";    
		 try{   
			 DriverManager.getConnection(url) ;   
		 }catch(SQLException se){   
		    System.out.println("数据库连接失败!");   
		    se.printStackTrace() ;   
		 }
		 System.out.println("数据库连接成功!"); 
	}
}

 30.107是我的本机,20.186是同一个域名下的另一台机器。

1.首先测试代码的写出来,搭好环境,JDBC的jar包用的是jtds-1.2.8.jar.

2.把自己的机器和186机器都加入同一个域名下面,不会加入的网上查资料或者咨询公司的网管吧。(O(∩_∩)O~)

3.这个时候用带域名的用户登录进入window,测试上面的程序,发现你连自己本机的数据库都不能连接。这个地方搜索了一大堆的资料,其实到最后发现非常的简单。

1)打开SQL Server Management Studio,首先用sa账户(或者其他system admin账户)登录进入。

2)在打开的Connection下面的Security->Logins,右击Logins文件夹。

 

3)在打开的Login-New 界面,点击search按钮,如下图在“Locations" 中选择自己的加入的域名。

 

 4)然后在”Enter the object name to select"中输入的自己的用户名,然后点击“Check Names",系统会自己把你的名字填好,你点击ok。

5)选择”Windows authentication",然后选择“Default database"为你自己的数据库。

6)然后依次设置下”Server Roles","User Mapping"等,点击ok就可以了。

这个时候你再次运行测试代码,妥妥的了!

### 回答1: JDBC连接SQL Server并使用Windows身份验证可以通过以下步骤实现: 1. 下载Microsoft JDBC驱动程序并将其添加到您的项目中。 2. 在Java代码中,使用以下代码片段来连接到SQL Server: ```java String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=mydatabase;integratedSecurity=true;"; try (Connection con = DriverManager.getConnection(connectionUrl)) { // Code here for executing SQL statements } ``` 其中,`localhost`是SQL Server所在的主机名或IP地址,`1433`是SQL Server的默认端口号,`mydatabase`是您要连接的数据库名称。`integratedSecurity=true`表示使用Windows身份验证进行身份验证。 3. 在SQL Server上配置Windows身份验证。在SQL Server Management Studio中,右键单击服务器名称,选择“属性”->“安全性”,将“身份验证方式”设置为“Windows身份验证”。 4. 确保Java应用程序执行此代码的用户具有访问SQL Server权限。 希望这能帮助到您! ### 回答2: JDBC是一种用于在Java程序中访问数据库的API。而SQL Server是微软提供的一种关系型数据库管理系统。通过JDBC连接到SQL Server数据库时,可以选择使用Windows身份验证。 使用Windows身份验证,意味着可以使用当前操作系统登录用户的身份来连接数据库,省去了在程序中明文存储用户名和密码的步骤。这样可以提高数据库的安全性。同时,也可以方便地与Windows域进行集成,管理和验证用户身份。 要使用JDBC连接到SQL Server数据库并使用Windows身份验证,首先需要在数据库服务器上设置为允许Windows身份验证。然后,在Java代码中指定相应的JDBC连接URL和驱动名称,以便使用Windows身份验证连接到SQL Server数据库。 JDBC连接URL的格式通常为:jdbc:sqlserver://[服务器名称]:[端口号];databaseName=[数据库名称];integratedSecurity=true;。 接下来,我们需要确保Java代码中导入了正确的JDBC驱动程序。可以从Microsoft官方网站上下载适用于SQL Server的JDBC驱动程序,并将其添加到项目的类路径中。 在编写Java代码时,可以使用java.sql包中的类和方法来建立和执行与数据库的连接。根据需要,可以使用Statement、PreparedStatement或CallableStatement执行SQL查询或更新。 总而言之,通过JDBC和Windows身份验证,可以方便地在Java程序中连接到SQL Server数据库,并以更安全和便捷的方式进行数据操作。 ### 回答3: JDBC是一种Java数据库连接的标准,用于连接和操作不同的数据库。 SQL Server是一种关系型数据库管理系统,是由微软开发的。 Windows AuthenticationWindows身份验证)是SQL Server中的一种身份验证方式。当SQL Server安装在Windows操作系统上时,可以选择使用Windows身份验证来让用户登录和访问数据库。Windows身份验证会使用Windows操作系统的用户凭据来认证用户身份,而不是使用SQL Server的用户名和密码。 JDBC可以通过相应的数据库驱动程序来连接和访问SQL Server数据库。对于使用Windows身份验证的SQL Server数据库,JDBC需要使用特定的驱动程序来实现Windows身份验证的支持。 在使用JDBC连接SQL Server数据库时,需要在连接字符串中指定Windows身份验证的相关参数。比如,可以使用"integratedSecurity=true"来启用Windows身份验证,还可以使用"domain=xxx"和"user=xxx"来指定用户所在的域和用户名。 使用Windows身份验证连接SQL Server数据库有以下几个优势: 1. 方便:使用Windows系统的用户凭据登录数据库,无需额外的用户名和密码。 2. 安全:Windows系统的用户凭据被用于认证用户身份,保证了数据的安全性。 3. 统一管理:使用Windows身份验证可以与组织的域控制器进行集成,方便统一管理用户和权限。 总之,JDBC可以通过特定的驱动程序支持SQL ServerWindows身份验证,提供了方便、安全和统一管理的好处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值