вернее, по коннекту к внешнему скл серверу. есть ли у кого-либо такая рабочая конфигурация? проблема при коннекте, когда делаю dotnet ef scaffold, то вылетает ошибка:
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed)
гуглинг по тексту приводит к вариантам исправления openssl.cnf, но мне не помогла ни одна комбинация. контрольная проверка
sqlcmd -S server\\instance,port -d Database -U user -P password
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
то есть не работает именно соединение с убунты к скл серверу (2016).
есть оракл линукс, там вышеприведённая команда работает без проблем.
Можно попробовать взять драйвер другой версии
Ключи -E -N - C для sqlcmd нужно использовать, чтобы доверять сертификату сервера.
везде был намёк на проблему согласования ссл/тлс протоколов, что скл сервер согласен только на что-то несекурное
я для определённости команду как есть целиком с другого терминала скопировал
Недавно МС отключила небезопасные протоколы и что-то там ещё наворотила с сертификатами. Мое дело предложить решение проблемы, не хотите не используйте.
Sqlcmd: The U and the E options are mutually exclusive.
я рад бы решению. я попробовал -N и -E -- ничего не поменялось
Попробуйте добавить только ключ -E к вашей строке
Connect using Windows credentials, encrypt communication and trust server certificate: Windows Command Prompt SQLCMD -E
> Windows credentials это мне никуда. к тому же, у меня скл авторизация
сапдейтил 17ю на 18ю версию. всё от мс. результат тот же
sqlcmd -N -C would translated to encrypt=true;TrustServerCertificate=yes in the driver, which would turn on encryption but not validate the server certificate
Обсуждают сегодня