无法使用Java连接SQL Server。
使用SQL Server Management Studio,我可以连接MFA帐户。但是使用src,我无法连接。
公共类数据{
public static void main(String[] args) throws SQLException {
SQLServerDataSource ds = new SQLServerDataSource();
ds.setServerName("demo.database.windows.net"); // Replace with your server name
ds.setDatabaseName("demo"); // Replace with your database name
ds.setUser("********");
ds.setPassword("******");
// ds.setAuthentication("ActiveDirectoryMSI");
Connection connection = ds.getConnection();
java.sql.Statement stmt = connection.createStatement();
try (
ResultSet rs = stmt.executeQuery("SELECT * from customer;")) {
if (rs.next()) {
System.out.println("You have successfully logged on as: " + rs.getString(1));
}
}
}
线程“ main”中的异常com.microsoft.sqlserver.jdbc.SQLServerException:无法打开登录请求的服务器“ demo.com”。登录失败。 ClientConnectionId:c40bc308-440c-4b01-9e11-fcbef63de19e 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) 在com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:251) 在com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:81) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:3080) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2361) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.access $ 100(SQLServerConnection.java:44) 在com.microsoft.sqlserver.jdbc.SQLServerConnection $ LogonCommand.doExecute(SQLServerConnection.java:2347) 在com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1794) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1405) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1069) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:905) 在com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:452) 在com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnectionInternal(SQLServerDataSource.java:637) 在com.microsoft.sqlserver.jdbc.SQLServerDataSource.getConnection(SQLServerDataSource.java:55) 在database.Data.main(Data.java:24)
答案 0 :(得分:0)
尝试执行此操作,将URL更改为默认URL Azure可让您选择。
EXPLANATION: MFA
使用两级身份验证。在为MFA注册任何应用程序时,将提供一个CLIENT_SECRET
参数。 Azure需要使用CLIENT_SECRET
参数进行身份验证。因此,使用重定向URL方法。它向Azure指示正在注册本机应用程序,并且身份验证已完成。