从Windows使用SQL Server Management Studio(SSMS),我只能按照以下方式连接到不同域上的SQL Server:
C:\> runas /netonly /user:不同域名\a用户名 "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe -S 一个IP地址"
如何通过JDBC实现此连接?我已经尝试使用Microsoft的sqljdbc 4.2驱动程序和以下连接字符串:
jdbc:sqlserver://一个IP地址:1433;database=MAIN;user=不同域名\\a用户名;password=密码
但是,我收到了以下错误:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user '不同域名\a用户名'
这与在SSMS 2012的“连接到服务器”对话框中输入differentDomainName\aUserName作为登录名而没有使用runas启动SSMS时收到的错误相同。
其他信息:JDBC连接将在运行Linux上的应用程序内建立。因此,不幸的是,不能使用runas运行该应用程序。
另一种尝试: 我还尝试使用jTDS 1.3.1和以下连接字符串:
jdbc:jtds:sqlserver://一个IP地址:1433;databaseName=MAIN;domain=不同域名;user=a用户名;password=密码
因为a用户名仅设置为Windows身份验证。不幸的是,这会产生以下异常:
o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool. Followed by java.sql.SQLException: I/O Error: DB server closed connection.
权限信息:我无法修改SQL Server计算机上的任何内容,包括SQL Server内的任何配置。 "a用户名"帐户映射到一个仅具有SQL Server只读Windows身份验证用户的用户。
C:\> runas /netonly /user:不同域名\a用户名 "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe -S 一个IP地址"
如何通过JDBC实现此连接?我已经尝试使用Microsoft的sqljdbc 4.2驱动程序和以下连接字符串:
jdbc:sqlserver://一个IP地址:1433;database=MAIN;user=不同域名\\a用户名;password=密码
但是,我收到了以下错误:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user '不同域名\a用户名'
这与在SSMS 2012的“连接到服务器”对话框中输入differentDomainName\aUserName作为登录名而没有使用runas启动SSMS时收到的错误相同。
其他信息:JDBC连接将在运行Linux上的应用程序内建立。因此,不幸的是,不能使用runas运行该应用程序。
另一种尝试: 我还尝试使用jTDS 1.3.1和以下连接字符串:
jdbc:jtds:sqlserver://一个IP地址:1433;databaseName=MAIN;domain=不同域名;user=a用户名;password=密码
因为a用户名仅设置为Windows身份验证。不幸的是,这会产生以下异常:
o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool. Followed by java.sql.SQLException: I/O Error: DB server closed connection.
权限信息:我无法修改SQL Server计算机上的任何内容,包括SQL Server内的任何配置。 "a用户名"帐户映射到一个仅具有SQL Server只读Windows身份验证用户的用户。
DriverManager.getConnection(connectionStr, user, password)
。 - Parfait