Microsoft.Data.SqlClient - ошибка квитирования перед входом - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь использовать Microsoft.Data.SqlClient, но не могу заставить соединение работать. Однако, когда я использую System.Data.SqlClient, все в порядке.

try
{
    using (var connection = new SC.SqlConnection(connectionString))
    {
        connection.Open();

        connection.State.ShouldBe(ConnectionState.Open);
    }
}
catch (Exception e)
{
    throw;
}

Строка подключения:

"server=[[**SERVER_NAME**]];Trusted_Connection=True;database=[[**DATABASE**]];min pool size=0;max pool size=100;Application Name=Data.Tests.DotNet;timeout=120"

Я получаю следующую ошибку:

Microsoft.Data.SqlClient.SqlException
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )

Все, что я могу найти, показывает какое-то сообщение после 'error: 0 -'.

Кто-нибудь может помочь?

UPDATE

Среды компании:

  1. Dev / UAT - Ms Sql Server 2012 Enterprise (On-Prem)
  2. Prod - Ms Sql Server 2016 Azure (Cloud)

Строки подключения:

  1. Dev / UAT:
"server=[[**SERVER_NAME**]];Trusted_Connection=True;database=[[**DATABASE**]];min pool size=0;max pool size=100;Application Name=Data.Tests.DotNet;timeout=120"
Производство:
"Server=tcp:[[**SERVER_NAME]],1433;database=[[**DATABASE**]];Persist Security Info=False;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication='Active Directory Integrated';Application Name=Data.Tests.DotNet;"

1 Ответ

0 голосов
/ 06 августа 2020

Добавление «TrustServerCertificate = true» в конец строки подключения может решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...