我在Windows身份验证模式下使用默认实例进行MS SQL设置 . 我还使用 ServerSpn
实现了Kerberos作为MSSQlSvc .
我试图在Windows操作系统上从我的Java客户端远程访问SQL Server .
使用以下JVM参数执行Java客户端:
-Djava.security.auth.login.config=path_to_file/client.conf
-Djava.security.krb5.conf=path_to_file/krb5.ini
我使用的URL如下所示:
jdbc:sqlserver://MSSQLSvc/FQDN_OF_SQL_Server:PORT;integratedSecurity=true;authenticationScheme=JavaKerberos
但是我收到以下错误:
com.microsoft.sqlserver.jdbc.SQLServerException:与主机MSSQLSvc / FQDN_OF_SQL_Server,端口1433的TCP / IP连接失败 . 错误:“null . 验证连接属性 . 确保在主机上运行SQL Server实例并接受端口上的TCP / IP连接 . 确保防火墙不阻止与端口的TCP连接 . ” at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket (IOBuffer.java:2293)com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:506)位于com.microsoft的com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1523) . sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1204)位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1040)的com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java: 554)at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1019)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at microsoftJdbcDriver.getConnection( microsoftJdbcDriver.java:3 2)在microsoftJdbcDriver.disver.main上的microsoftJdbcDriver.displayDbProperties(microsoftJdbcDriver.java:51)(microsoftJdbcDriver.java:93)
client.conf
文件:
SQLJDBCDriver {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
};
kb5.ini
:
[libdefaults]
default_realm = MYDOMAIN.COM
clockskew = 300
[realms]
MYDOMAIN.COM = {
kdc = MYDOMAIN.COM
admin_server = MYDOMAIN.COM
}
[domain_realm]
.domain.com = MYDOMAIN.COM
domain.com> = <MYDOMAIN.COM
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true'
Also note:
-
防火墙不是问题,使用
sql_auth.dll
与本机身份验证相同 . -
SQL Management Studio也可以访问该实例
1 回答
我的网址不正确 . 令人惊讶的是,一些试错工作: