业务有需求,需要加入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就可以了。
这个时候你再次运行测试代码,妥妥的了!