2017-05-17 2 views
0

은 다음과 같습니다VB6 및 SQL Server 2016 Express를 연결 문자열 우리의 오래된 VB6 응용 프로그램 연결 문자열 중 하나에서

nk = "Provider=SQLOLEDB;" 
nk = nk + "Integrated Security=SSPI;" 
nk = nk + "Persist Security Info=False;" 
nk = nk + "User ID=sa;" 
nk = nk + "Password=******;" 
nk = nk + "Initial Catalog=" & db & ";" 
nk = nk + "Data Source=" & hn 
kon.ConnectionString = nk 
kon.Open 

내가 늘 일이 옵션을 사용하여 연결을 시도, 내가 왜이 관심이 있다면 두 가지 옵션 :

nk = nk + "Integrated Security=SSPI;" 
nk = nk + "Persist Security Info=False;" 

은 무시하지 않습니까?

응용 프로그램이 로컬 네트워크를 통해 Windows Server 2016 표준의 SQL Server 2016 Express에 연결하고 있음을 언급하기 만하면됩니다.

답변

2

문제는 = SSPI

통합 보안 함께

는 현재 Windows 사용자 인증하지만, 표준 SQL 사용자 -를 사용하지 않는 한 그것은 거짓 (또는 모두 제거)로 설정해야합니다

암호 로그인. MSDN documentation의 아웃

:

거짓은, 사용자 ID 및 암호는 연결에서 지정됩니다. 이 true이면 인증에 현재 Windows 계정 자격 증명이 사용됩니다. 인식되는 값은 true, false, yes, no 및 sspi (강력히 권장)이며 true와 같습니다. 사용자 ID 및 암호가 지정되고 통합 보안이 true로 설정된 경우 사용자 ID 및 암호는 무시됩니다. 및 통합 보안 이 사용됩니다.

+0

... 내 도메인 계정에 SQL Server db에 액세스 할 수있는 권한이 없음을 의미합니다. 팁 고마워. – murga