Я только что недавно установил MS SQL Server 2017 на свой компьютер, и я столкнулся с этой проблемой, когда просто открытие соединения занимает слишком много времени.
только эта строка занимает 5,5 секунд: con = DriverManager.getConnection(connectionUrl)
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Test
{
static
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception e)
{
}
}
public static void main(String[] args) throws SQLException
{
Connection con = null;
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=BSSGI;user=bssuser;password=123456";
long startTime, endTime, total;
startTime = System.currentTimeMillis();
con = DriverManager.getConnection(connectionUrl);
endTime = System.currentTimeMillis();
total = endTime - startTime;
System.out.println("Con:" + total);
}
catch (Exception e)
{
e.printStackTrace();
System.exit(0);
}
finally
{
con.close ();
}
}
}
И это вывод, который я получаю:
run:
Con:5582
BUILD SUCCESSFUL (total time: 5 seconds)
Я могу подключиться к серверу через MS SQL Management Studio в порядке, и я не вижу никаких проблем со скоростью запроса или подключением. В настоящее время сервер работает на мощной машине и твердотельном накопителе nvme (Samsung 970 pro); поэтому я сомневаюсь, что это проблема производительности машины. И тестовая программа, и сервер находятся на одной машине, поэтому я сомневаюсь, что это как-то связано с сетью.
Заранее спасибо.