기존 서버에서 릴리스해야하는 기존 ASP 응용 프로그램이 있습니다. SQLOLEDB와 함께 ADO를 사용하여 MS SQL Server와 통신합니다. 사용자 이름과 암호로 SQL에 로그온하고 있습니다.ADO Connection.ConnectionString이 더 이상 자격 증명을 반환하지 않습니다.
응용 프로그램은 변경된 것으로 보이는 ADO Connection 개체의 고유 한 동작에 의존합니다. 요즘 (ADODB.Connection.6에서) Connection 문자열을 Connection에 제공 한 다음 다시 검색하면 원래 문자열의 정확한 사본을 얻지 못합니다. 특히, 사용자 이름과 암호가 제거되고 일부 추가 매개 변수가 추가됩니다.
이전 버전의 ADO가이 시나리오에서 자격 증명을 제거하지 않은 것처럼 보입니다. 응용 프로그램이 작동하면 응용 프로그램이 작동하지 않으며 작동합니다. 질문 -이 내용이 문서화되어 있습니까? 새 ADO에서 레거시 동작을 적용 할 수있는 방법이 있습니까?
공유 서버에서 ADO를 다운 그레이드하고 싶지 않습니다.
EDIT : 최소한의 테스트 케이스로 분리했습니다. Windows 2003의 Connection.2.80 (msado15.dll v2.82.5011.0)에서 작동하고 Windows 2008의 Connection.6 (dll v.6.1.7600.17036)에서 실패합니다.
EDIT2 : 공식적으로 ADO가 일부인 이전 MDAC 2.8은 Vista 이상에서 지원되지 않습니다. 따라서 다운 그레이드는 실제로 옵션이 아닙니다.
이 말은 할 필요가 없지만 응용 프로그램이 실제로이 동작에 의존해서는 안됩니다. –
그런 다음 'i-did-not-code-this'라는 태그를 소개합니다. :) 아니면 단지'유산'. 나는 그렇게해서는 안된다는 것을 안다. 하지만 그렇습니다. –