這是我的場景。SharePoint 2010 BCS忽略連接字符串中的用戶名/密碼
我在一臺服務器上運行SharePoint 2010,SQL Server在另一臺服務器上運行。兩臺機器都在同一個域中,但涉及的登錄對於每臺機器都是本地的。如果這有什麼不同,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 Server)是不可協商的;不幸。