Переопределить или изменить имя поставщика строки подключения в DLL для обновления TLS 1.2 - PullRequest
0 голосов
/ 28 декабря 2018

Мы отключили TLS 1.0 и 1.1 как часть обновления TLS 1.2.Мы изменили «Провайдера» в строках соединения sql в нашем классическом приложении asp на Provider=MSOLEDBSQL.При тестировании приложения мы все еще сталкивались с проблемами, связанными со строкой подключения.Мы немного покопались и обнаружили, что наше классическое asp-приложение вызывает dll (запрограммировано на c ++), которое зарегистрировано в реестре.У нас есть решение, которое построило эту DLL, но в ней слишком много синтаксиса и ссылок на пропущенные ошибки, и она может быть неполной (поскольку она очень старая).Строки подключения в этой dll по-прежнему используют Provider=SQLOLEDB

Ниже приведено одно из подключений: wsprintfW(wszConnectionStr,L"Provider=SQLOLEDB;Server=%s;Database=%s;Uid=%s;Pwd=%s;UseProcForPrepare=0;OLE DB Services=0",(WCHAR*)bstrDBServerName, (WCHAR*)bstrDatabaseName, (WCHAR*)bstrUserAccount, (WCHAR*)bstrPassword);

Поскольку перестройка dll после изменения имени поставщика в строке подключенияиз-за огромного количества ошибок, есть ли способ переопределить только строку подключения, которую использует dll?Или есть какой-то другой способ решить эту проблему?

Любая помощь очень ценится.Спасибо!

1 Ответ

0 голосов
/ 14 мая 2019

У меня была похожая проблема, и я смог ее устранить, просто установив последний собственный SQL-клиент из https://www.microsoft.com/en-us/download/details.aspx?id=50402 и добавив его в качестве поставщика для подключения к БД SQL в строке подключения "Provider = SQLNCLI11; DataTypeCompatibility"= 80; "Это решит проблему TLS 1.2, заставив соединение использовать TLS1.2.

...