내 시나리오는 다음과 같습니다.SharePoint 2010 BCS는 연결 문자열의 사용자 이름/암호를 무시합니다.
SQL Server가 다른 서버에서 실행되는 한 서버에서 SharePoint 2010을 실행하고 있습니다. 두 시스템 모두 동일한 도메인에 있지만 관련된 로그인은 각 시스템에 로컬입니다. SharePoint가 NT Authority \ Network Service로 실행 중인지 확인하십시오.
나는 제거 SQL Server에서 데이터를 가져 오는 BCS를 만들었습니다. 연결 문자열은 다음과 같이 나타납니다 : Data Source={0}; Initial Catalog={1};User Id={2}; Password={3}; Integrated Security=SSPI
. 모든 {x}가 교체되면 연결 문자열이 잘 형성되었음을 확인했습니다.
동일한 컴퓨터 (SharePoint를 호스팅하는 컴퓨터)에서 실행되는 브라우저에서 SharePoint 사이트에 액세스하면 정상적으로 작동합니다. 다른 컴퓨터의 브라우저에서 연결하면 실패합니다.
SQL Server에서 프로필러를 사용하면 SharePoint에 '로컬로 액세스'할 때 쿼리를 만드는 사용자가 로그인 한 계정임을 알 수 있습니다. 원격으로 실행될 때 사용자는 '익명'입니다. 계정 권한으로 인해 전자는 성공하고 후자는 실패합니다. 어떤 경우에도 사용자는 실제로 연결 문자열에 제공된 것입니다.
This answer은 연결 풀링과 관련된 문제 일 수 있음을 나타내지 만 문제를 해결하지 못했습니다.
간단히 말해이 BCS가 실제로 연결 문자열 사용자 이름/암호 쌍을 존중하도록하려면 어떻게해야합니까? 아니면, 실패, 동등한 끝을 어떻게 얻을 수 있습니까? 서버 설정 (SharePoint를 하나, SQL 서버를 다른 서버)은 협상 할 수 없습니다. 운수 나쁘게.