Тайм-аут подключения SQL Server Post-Login Phase Docker .net 8 OpenSSL3.0 уже конфигурация для TLSV1C#

Место общения программистов C#
Ответить
Anonymous
 Тайм-аут подключения SQL Server Post-Login Phase Docker .net 8 OpenSSL3.0 уже конфигурация для TLSV1

Сообщение Anonymous »

Мне нужно подключиться к «очень» старому серверу SQL, работающему на V10.50.2550.0 (Win NT 6.1 (7601)) (SQL Server 2008 R2). < /p>
Да I Знайте, что это должно быть обновлено, но для этого банкомата нет никакого способа! Bash PrettyPrint-Override ">

Код: Выделить всё

# downgrade TLS for SQL Server 2008 to connect (pre SP3)
RUN sed -i '/\[openssl_init\]/a ssl_conf = ssl_configuration' /etc/ssl/openssl.cnf && \
echo "\n[ssl_configuration]" >> /etc/ssl/openssl.cnf && \
echo "system_default = tls_system_default" >> /etc/ssl/openssl.cnf && \
echo "\n[tls_system_default]" >> /etc/ssl/openssl.cnf && \
echo "MinProtocol = TLSv1" >> /etc/ssl/openssl.cnf && \
echo "CipherString = DEFAULT@SECLEVEL=0" >> /etc/ssl/openssl.cnf
# downgrade fertig.
< /code>
Как это тестировать: < /p>
using Microsoft.Data.SqlClient;

private static void DBTestManuel(DatenbankTest dbTest)
{
Console.WriteLine("ManuellerTestStart");
List Items = new List();

try
{
using (SqlConnection conn = new SqlConnection(dbTest.ConString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("Aufträge_GetByKundenNr", conn))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@KundenNr", 11117);

using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
Items.Add(GetRowFromReader(reader));
}
}
}

Console.WriteLine($"List mit : {Items.Count}");
}
}
}
catch (Exception ex)
{
Console.WriteLine("ManuellerTest" +
"\nRIEDSQL_Archiv FAILED" +
"\nException:" +
$"\n{ex}");
}

Console.WriteLine("ManuellerTestEnde");
}
< /code>
Строка подключения (домен и пароль заменены): < /p>
public string ConString = @"Data Source=mydomain;Initial Catalog=Archiv;User ID=msAuftragImport;Password=mypassword;TrustServerCertificate=True;Encrypt=false";
< /code>
on connection.open < /code> i получаю следующее исключение: < /p>

microsoft.data.sqlclient.sqlexception ( 0x80131904): истек срок службы подключения. Период времени ожидания, прошедший во время фазы после логина. Подключение могло бы время, ожидая, когда сервер завершит процесс входа в систему и ответил; Или это могло бы время, пытаясь создать несколько активных соединений.  Продолжительность, потраченная при попытке подключиться к этому серверу, была - [Pre -Login] инициализация = 143; Рука = 359; [Войдите] инициализация = 1; Аутентификация = 18; [Post-login] elepple = 14609; < /p>
system.componentmodel.win32exception (258): неизвестная ошибка 258 < /p>
at microsoft.data.sqlclient.  Sqlinternalconnection.onerror (исключение SQLexception, Boolean Breakconnection, действие1 wrapCloseInAction)   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)   at Microsoft.Data.SqlClient.TdsParserStateObject.ThrowExceptionAndWarning(Boolean callerHasConnectionLock, Boolean asyncClose)   at Microsoft.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)   at Microsoft.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()   at Microsoft.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()   at Microsoft.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()   at Microsoft.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value)   at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)   at Microsoft.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)    at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)   at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)   at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool) at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource< /code> 1 повторение, dbconnectionoptions Userptions, dbconnectionInternal & Connection)
at microsoft.data.providerbase.dbconnectionFactory.trightConnection (dbconnection helowingConnection, taskCompletionsource1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal&  connection) at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource< /code> 1 повторение, dbconnectionoptions userptions)
at microsoft.data.providerbase.dbconnectionClosed.tryopencenection (Dbconnection Overconnection, dbconnectionFactory Connectory, TaskCompleTionionSource1 retry, DbConnectionOptions userOptions) at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource< /code> 1 повторение, переопределение sqlconnectionoverrides)
at microsoft.data.sqlclient.sqlconnection.open (sqlconnectionoverrides)
at microsoft.data.sqlclient.sqlconnection.open ()
at atesspp1 .Program.dbtestmanuel (datenbanktest dbtest) в /src/consoleapp1/program.cs:line 27 < /p>
clientConnectionId: 089dfd32-0cce-416d-93a1-9b8d3cd31a3a

Номер ошибки: -2, состояние: 0, класс: 11

, прежде чем я изменил изображение, это была известная ошибка TLS/SSL. 
Как сказано выше, изменило изображение, чтобы запустить tlsv1
и изменить строку подключения на < /p>
TrustServerCertificate=True;Encrypt=false
Я понимаю, что это должно игнорировать любой SSL/TLS?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -0-already
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»