개발 중인 Qt 애플리케이션에서 ODBC를 사용하여 Linux 시스템에서 MS SQLServer에 연결해야 합니다.
지금까지 Linux 시스템에 ODBC MS SQLServer 드라이버와 Kerberos를 설치했습니다. kinit를 사용하면 내 Windows 사용자에 대한 티켓을 얻을 수 있습니다([이메일 보호됨]).
저는 로컬 사용자(mvincent@linuxbox)로 Linux 박스에 로그인했습니다.
mvincent@linuxbox가 Active Directory에 없기 때문에 Windows Active Directory에서 Linux Box 로그인 티켓을 얻는 방법을 잘 모르겠습니다.
Trusted_Connection=yes
ODBC 연결 문자열을 사용하고 있습니다. MS SQLServer 인스턴스는 Windows 인증만 사용하도록 구성되어 있으므로 Uid=xxx
연결 문자열에 및를 사용할 수 없습니다.Pwd=ssss
위 시나리오에서 MS SQLServer에 연결하는 방법은 무엇입니까?
답변1
물어보면 지원되지 않습니다.
이제 최소 17.6개의 드라이버가 필요합니다(현재 17.9).
MS 지침은 다음 위치에 있습니다.https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication?view=sql-server-ver15
최소한 DSN에 Trusted_Connection=yes를 추가해야 합니다.
연결을 시도하기 전에 kinit 또는 pam을 통해 kerberos 토큰을 얻어야 합니다.
다음 줄은 실제로 Kerberos를 통해 서버에 로그인해야 할 수도 있음을 나타냅니다.
시스템에 로그인하려면 Kerberos PAM(플러그형 인증 모듈)을 사용해야 합니다.
odbc 드라이버는 이 작업을 수행하지 않으므로 만료되기 전에 자격 증명을 업데이트해야 합니다.