在 SharePoint Server 中部署 Business Connectivity Services 內部部署解決方案

適用於:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

下列案例示範如何使用 SQL Server AdventureWorks 範例資料庫,在 Microsoft Business Connectivity Services (BCS) 中建立無程式代碼商務解決方案。 您將學習下列事項:

  • 設定帳戶及用以保護外部資料存取安全的群組。

  • 設定外部資料來源、外部內容類型及外部清單的權限。

  • 建立及設定外部內容類型。

  • 建立可將外部資料提供給使用者的外部清單。

  • 將外部清單連線到 Microsoft Outlook,讓外部數據在用戶離線時可供使用。

這些程序的功能

Business Connectivity 服務是 SharePoint Server 和 Office 中的集中式基礎結構,可讓您將不在 SharePoint Server 和 Office 中的數據整合到 SharePoint Server 和 Office 中。 BCS 實作的形態不一,其中包括內部部署的形態。 這些程序說明如何安裝和設定BCS,以將內部部署SQL資料源的數據整合到SharePoint Server外部清單和 Outlook 中。 為了以此案例進行發展,我們使用 AdventureWorks 範例 SQL 資料庫。 解決方案如以下圖表所示:

圖:內部部署 BCS 解決方案

結構化的內部部署 BCS 解決方案。顯示

  1. 使用者移至 SharePoint 網站上的外部清單。 外部清單會使用使用者的 Windows 認證來建立數據要求。

  2. 要求傳送至 SharePoint 伺服器陣列的 BDC 執行階段。

  3. BDC 執行階段存取清單 (位於 BDC 中繼資料存放區) 中的外部內容類型,以了解如何存取外部系統及所能執行的操作。 BDC 執行時間會使用使用者的認證或來自 Secure Store (的認證,如外部內容類型) 中所定義,將要求傳遞給可處理要求的連接器,在此案例中為 SQL 連接器。

  4. SQL 連接器存取外部資料來源並擷取資料,然後套用外部內容類型中所指定的格式與篩選。 資料透過要求鏈傳回使用者可以進行互動的清單。

  5. 使用者想要在 Outlook 的可攜式電腦上取得此數據,讓使用者可以使用外部清單上的 [連線到 Outlook ] 功能,讓數據離線。

  6. [按一次] 安裝會在用戶端上執行並安裝所需的 BDC 模型。 這可讓 BDC Client-Side 運行時間直接存取外部數據。

  7. 接著,Outlook 會使用 BDC 模型中的組態連線到外部數據,並將它同步處理到 Outlook SharePoint 外部清單,並格式化為聯繫人清單。

  8. 然後,使用者可以與連絡人資料互動,且使用者所做的任何變更會隨時受命進行同步處理,或等候六小時再自動同步處理,以寫回外部資料來源。

部署解決方案

完整部署此案例的步驟如下所示。 有些程式在其他文章中。 視需要提供連結。

開始安裝內部部署 Microsoft Business Connectivity Services (BCS) 案例之前,您必須具備這些軟體和基礎結構需求。

  • 具有 Web 應用程式和網站集合的完整功能 SharePoint Server 伺服器陣列

  • 正確設定的 Business Data Connectivity Services 服務應用程式

  • SQL Server 2008 的完整運作實例,Service Pack 1 (SP1) 和累積更新 2 或 SQL Server 2008 R2

  • SharePoint Designer 2013

  • Outlook 2016用戶端

  • 您具有管理 Business Data Connectivity Service 應用程式許可權的帳戶

  • 您擁有有權管理 Secure Store Service 服務應用程式的帳戶

  • 從適用於 SQL Server的 Codeplex 下載下載 AdventureWorks 範例資料庫。 此資料庫必須在您的 SQL Server 上安裝並運作

  • 建立 Active Directory 目錄服務 (AD DS) 安全組,並新增將使用此 BCS 解決方案的使用者,例如建立名為 AdventureWorksBCSUsers 的群組

AdventureWorks 範例數據

AdventureWorks 範例資料庫是由 Microsoft 開發及發行。 AdventureWorks 範例資料庫會預先填入來自虛構公司 AdventureWorks Cycles 的大量虛構數據。 我們在這裡使用 AdventureWorks 範例資料庫,因此有具體的範例說明內部部署 BCS 案例的安裝和設定。

如何下載並安裝 AdventureWorks 範例資料庫

  1. 從瀏覽器,移至 AdventureWorks 範例資料庫 並下載 AdventureWorks2008R2_Data.mdf 檔案。

  2. Install the Adventure Works2008R2 sample database by following the procedures in the "Readme for AdventureWorks 2008 R2 Sample Database" section of the SQL Server Samples Readme (en-US) page.

建立資料庫登入

Microsoft Business Connectivity Services (BCS) 需要可用來存取外部數據源的帳戶。 此帳戶必須具備外部資料來源上的必要權限,才能執行您 BCS 解決方案可能需要的所有操作。 為了簡化設定和持續管理,您可以將一組 SharePoint Server 用戶對應至外部數據源上的單一共享帳戶。

在此程式中,您會建立 SQL Server 登入,然後將該登入指派給 AdventureWorks 範例資料庫上的用戶帳戶。 您將在稍後的程式中使用 Secure Store Service 服務,將一組 SharePoint Server 用戶對應至單一共享帳戶。

建立 SQL Server 登入

  1. 啟動 SQL Server Management Studio。

  2. 物件總管 中,依序展開<資料庫伺服器名稱>、[安全性] 和 [登入]

  3. 以滑鼠右鍵按一下 [登入],然後按一下 [新增登入]

  4. 在 [ 登入名稱] 方塊中,輸入 SharePointGroupAccount。

  5. 選取 [SQL Server 驗證],然後輸入並確認密碼。

  6. 在 [預設資料庫] 方塊中,選取 AdventureWorks2008R2,然後按一下 [確定]

在 AdventureWorks 資料庫上建立 SQL Server 使用者

  1. 在 [物件總管] 中,依序展開 [資料庫]AdventureWorks2008R2、 [安全性] 及 [使用者]

  2. 以滑鼠右鍵按一下 [使用者],然後按一下 [新增使用者]

  3. 在 [登入名稱] 下方,會預先選取 [使用者名稱] 方塊,並在第一個方塊中,輸入 AdventureWorksUser

  4. 在第二個方塊中,按兩下 [流覽],在 [選取登入] 對話框中,按兩下 [流覽],選取 SQL Server 帳戶 SharePointGroupAccount,然後按兩次。

  5. 在 [資料庫角色] 成員資格下方,選取 db_owner

  6. 按一下 [確定]

  7. 關閉 SQL Server Management Studio。

設定 BCS 中繼資料存放區的權限

BCS 中繼資料存放區會保留外部內容類型、外部系統,以及適用於 BCS 服務應用程式的 BDC 模型定義。 在此程序中,您會在中繼資料存放區上設定管理權限,以及它將包含的所有內容。

在 Business Connectivity Services 中繼資料存放區上設定權限

  1. 使用伺服器陣列系統管理員帳戶或已委派管理 Business Data Connectivity Service Applications 許可權的帳戶,開啟 SharePoint 管理中心網站。

  2. 在 [快速啟動] 上,按一下 [應用程式管理]

  3. 在 [應用程式管理] 頁面上,按一下 [服務應用程式] 下的 [管理服務應用程式]

  4. 在服務清單中,選取您在 SharePoint Server 中設定 Business Data Connectivity Service 應用程式中建立的 Business Data Connectivity Service Application 數據列,然後按兩下 [管理],然後按兩下 [設定元數據存放區許可權]

  5. 輸入伺服器陣列管理員帳戶和任何其他委派管理員 (如果有的話),然後按一下 [新增]

  6. 針對您新增的每個帳戶或群組 (其為 Business Data Connectivity Service 應用程式的管理員),選取 [編輯]、[執行]、[可在用戶端選取] 及 [設定權限] 核取方塊。

  7. 選取 BDC 元資料存放區中所有 BDC 模型、外部系統和外部內容類型的傳播許可權。這麼做將會覆寫現有的許可權 複選框。 如需有關在 BDC 元資料存放區上設定許可權的詳細資訊,請參閱 SharePoint Server 中 Business Connectivity 服務安全性工作概觀

  8. 按一下確定

注意事項

編輯是在 Business Data Connectivity 元數據存放區中建立或修改數據源、模型和外部內容類型所需的高度特殊許可權許可權。 需要執行許可權才能查詢外部內容類型 (,因為它會授與建立、讀取、更新、刪除和查詢許可權) 。 可在 [用戶端] 中選取可讓您建立新的外部清單、選擇 [外部內容類型] 選擇器中的外部內容類型,以及使用 [外部數據] 網頁元件,而 [設定許可權] 則可讓使用者設定 BDC 服務本身的許可權。 請務必規劃 BCS 的許可權,並在授與編輯許可權時小心。

設定 Secure Store Service

Secure Store Service 會儲存 Microsoft Business Connectivity Services 用來存取 AdventureWorks 外部數據源的認證,並在您的使用者帳戶與用來存取外部數據源的認證之間執行認證對應。

在此程式中,您會執行 在 SharePoint 2013 Preview 中設定 Secure Store Services 一文中的所有步驟。 必須使用下列參數完整執行<在 SharePoint 2013 中設定 Secure Store Service>文章中的步驟。

為內部部署 Business Connectivity 服務設定 Secure Store Service

  1. 使用下列參數,執行 在 SharePoint 2013 Preview 中設定 Secure Store Services 中的所有步驟。

  2. 開啟 Secure Store Service 所在伺服器陣列的 SharePoint 管理中心網站,其中包含具有伺服器陣組管理員許可權的帳戶。

  3. 在設定 SharePoint 2013 中的安全存放區服務預覽文章中,使用這些參數執行在 SharePoint Server 中設定 Secure Store 一節中的所有程式

  4. 針對 [註冊受管理帳戶],用戶名稱會輸入您在 SharePoint 2013 中部署 Business Connectivity Services 內部部署解決方案的必要條件中建立的服務帳戶名稱。

  5. 請勿選取 [啟動自動變更密碼] 方塊。

  6. 執行「啟動 Secure Store Service」程式

  7. 使用這些參數執行「建立 Secure Store Service 應用程式」程式

  8. 在 [服務應用程式名稱] 方塊中輸入服務要在 [管理服務應用程式] 頁面上顯示的名稱。

  9. 在 [資料庫] 區域中,除非有特定設計需求,請不要變更 [資料庫伺服器]、[資料庫名稱] 及 [資料庫驗證] 中預先填入的值 (此值為 [Windows 驗證 (建議使用)]) 。

  10. 如果您已設定 SQL Server 資料庫鏡像,而且想要在鏡像中包含 Secure Store Service,請在 [故障轉移資料庫伺服器] 方塊中提供故障轉移資料庫伺服器的名稱。

  11. 在 [可設定] 下拉式清單中,選取此程序中先前註冊為受管理帳戶的帳戶。

  12. 使用下列參數執行使用 Secure Store 加密金鑰 一節中的步驟:

  13. 請勿執行「重新整理加密金鑰」子區段中的程式

  14. 閱讀在 Secure Store 中儲存認證段落,然後使用下列參數執行建立目標應用程式程序。

  15. 在 [目標應用程式識別碼] 方塊中輸入用於目標應用程式的字串;這不是顯示名稱。 例如輸入 AWTargetAppID。

  16. 在 [ 顯示名稱] 方塊中,輸入您想要的顯示名稱,例如 Adventure Works 目標應用程式識別碼。

  17. 在 [目標應用程式類型] 下拉式清單中,選取 [群組] (表示將多個認證對應至一個認證)。 在此情況下,不需要 [目標應用程式頁面 URL] 且會自動選取 [無]

  18. 在 [ 建立新的 Secure Store 目標應用程式 ] 頁面的 [ 功能變數名稱] 下,將 [Windows 使用者名稱 ] 變更為 [SQL 用戶名稱],並將 [Windows 密碼] 變更為 [SQL 密碼]。

  19. [欄位類型 ] 下,將 [Windows 用戶名稱 ] 變更為 [用戶名稱],並將 [Windows 密碼] 變更為 [密碼]。

  20. 在 [目標應用程式管理員] 中新增要成為目標應用程式管理員的帳戶。 請注意,伺服器陣列管理員預設即有存取權。

  21. 在 [成員] 方塊中,新增要允許存取外部資料來源的使用者名稱。 針對此範例,請使用您在必要條件中建立的 AdventureWorksBCSUsers 安全組,以在 SharePoint 2013 中部署 Business Connectivity Services 內部部署解決方案。

  22. 使用下列參數,執行 設定 Secure Store 目標應用程式 程式認證中的步驟:

  23. 在 [SQL 用戶名稱] 方塊中,輸入 AdventureWorksUser,這是您在 SharePoint 2013 中為 Business Connectivity Services 內部部署解決方案建立資料庫登入中建立 SQL Server 帳戶的名稱。

  24. [SQL 密碼] 和 [確認 SQL 密碼] 方塊中輸入該帳戶的密碼,這實際上是您在 SharePoint 2013 中為 Business Connectivity Services 內部部署解決方案建立資料庫登入中所建立 SharePointGroupAccount 帳戶的密碼。

建立外部內容類型

這些程序將逐步引導您使用 SharePoint Designer 2013 建立 Business Connectivity Services 的外部內容類型 (無須撰寫程式碼)。 您將瞭解如何探索 SQL Server 資料庫、連接到資料庫數據表,然後傳回所需的數據。 您將建立一個在 AdventureWorks 範例資料庫中根據「客戶」檢視、名稱為「客戶」的外部內容類型。 本文使用如何:在 SharePoint 2013 Preview 中建立 SQL Server 的外部內容類型中的程式。 您必須開啟該文章,並使用符合本文章節之指定參數來執行步驟。

定義一般資訊

  1. 啟如何:在 SharePoint 2013 Preview 中建立 SQL Server 的外部內容類型

  2. 建立名稱為 AWcustomers 且顯示名稱為 AdventureWorks Customers之新的外部內容類型。

定義一般及 Office 行為

  1. 將 [Office 項目類型] 設為 [連絡人]。 [Office 項目類型] 可判斷您要附加至外部內容類型的 Outlook 行為。 這樣一來,此 AWCustomer 外部內容類型的運作會如同 Outlook 中的原生「連絡人項目」。

  2. 在 [外部清單的離線同步處理] 核取方塊中,確定已選取 [啟用] (預設)。

注意事項

如果停用此選項,則「將 SharePoint 連線至 Outlook」功能區命令會無法用於外部清單。

建立外部資料連線

  1. 使用 SQL Server 作為外部數據來源類型來新增連接。

  2. 在 [設定資料庫伺服器] 方塊中,輸入 <資料庫伺服器> 的名稱,然後在 [ 設定資料庫名稱 ] 方塊中輸入 AdventureWorks2008R2。 也可以選擇性地在 [名稱] 方塊中輸入 AdventureWorks 範例資料庫。

  3. 選取 [使用模擬的自訂身分識別連線]

  4. 在 [ Secure Store 應用程式識別符] 方塊中,輸入 AWTargetAppID。

注意

如果系統提示您輸入 AWTargetAppID 的使用者名稱和密碼,可能是因為當您建立 SharePointGroupAccount SQL 登入時,您未取消核取 [用戶必須在下一次登入時變更密碼 ] 選項。 若要修正此問題,您必須透過 SQL 查詢變更密碼 ALTER LOGIN <LoginName> WITH PASSWORD = '<originalpassword>'

選取資料表、檢視或常式以及定義作業

  1. AdventureWorks 範例資料庫中選取 [vIndividualCustomer] 檢視,並以滑鼠右鍵按一下 [建立所有作業]

注意事項

建立所有作業是一種便利的方式,可定義作業的所有基本方法, ( 建立取、 讀取清單更新刪除) 。

提示

請務必仔細閱讀 [ 錯誤和警告 ] 窗格中的訊息。 它們提供實用的信息來確認您的動作或針對任何問題進行疑難解答。

新增欄位

  1. 在 [ 參陣列態] 對話框中,預設會選取所有數據行。 若要移除不必要的數據行,請清除下列數據行旁邊的複選框: 後綴人口統計

  2. 針對 BusinessEntityID,請選取 Map to Identifier 值。

    注意事項

    取消核取 [必要] 方塊以避免進行更新,請選取 [唯讀] 核取方塊,此為擷取項目所需的設定,以便您更新其他欄位。

對應 Outlook 欄位並設定外部項目選擇器控制項

  1. 針對 [FirstName]、[LastName]、[EmailAddress] 以及 [PhoneNumber] 欄位,請執行下列動作:

  2. 按一下並將欄位反白顯示。

  3. 在 [屬性] 下方的 [Office 屬性 ] 下拉式清單中,選取適當的比對欄位: FirstNameto FirstName (FirstName) LastName to ** LastName (LastName) **,以及 PhoneNumber主要電話號碼 (PrimaryTelephonePhoneNumber) EmailAddress to EmailAddress1 (Email1Address)

    注意事項

    根據數位而定,未對應的欄位會顯示為擴充屬性。 對於兩到五個字段,這些字段會列為 [ 相鄰] ,這表示它們會附加至 Outlook 窗體默認頁面底部的表單區域。 對於六個或多個字段,這些字段會列為 「分隔」 ,並新增為 Microsoft Outlook 的新頁面。

  4. 針對以下欄位,[BusinessEntityID]、[FirstName]、[LastName] 以及 [EmailAddress],請按一下並反白顯示欄位,然後在 [屬性] 下方按一下 [在選擇器中顯示]

定義篩選

  1. 建立名為 ByRegion 的 比較 篩選,並使用 CountryRegionName 作為值。

  2. 在 [ 屬性] 下方的 [預設值] 旁,輸入 Canada。

  3. 建立名為 AWLimit 的限制 篩選,使用 BusinessEntityID 作為 篩選欄位

  4. 將預設值設為 200

提示

按一下 [錯誤和警告] 窗格,確保沒有任何錯誤和警告。

設定外部清單的標題欄位及完成外部內容類型

  1. BusinessEntityID 設為標題並儲存外部內容類型。

設定外部內容類型的許可權

若要設定外部內容類型的使用者存取權和權限:

設定外部內容類型的許可權

  1. 開啟您網站的管理中心頁面。

  2. 在 [快速啟動] 上,按一下 [應用程式管理]

  3. 在 [應用程式管理] 頁面上,按一下 [服務應用程式] 下的 [管理服務應用程式]

  4. 在服務清單中,按兩下您的 Business Data Connectivity (BDC) Service。

  5. 按兩下 [AWCustomers]

  6. 在功能區上,按兩下 [設定物件許可權]

  7. 輸入您要授與許可權的用戶帳戶,然後按兩下 [ 新增]。 在此範例中,您會新增在必要條件中建立的安全組,以在SharePoint 2013AdventureWorksBCSUsers 中部署 Business Connectivity Services 內部部署解決方案。

  8. 選取您剛才新增的用戶帳戶,然後選取 [ 執行] 複選框。

  9. 選取 [BDC 元數據存放區] 複選框中的 [傳播 至所有 BDC 模型、外部系統和外部內容類型的 許可權] 複選框,以覆寫現有的許可權。

  10. 按一下確定

外部內容類型現在可供適當的使用者在 SharePoint 和 Office 產品中使用。

建立外部清單

外部清單是以外部數據為基礎的 SharePoint 解決方案的主要建置組塊。 您可以使用 SharePoint 清單的熟悉體驗來讀取和寫入外部數據。 外部清單的外觀和行為與原生清單非常類似,但行為有一些差異。 例如,您可以建立檢視,並搭配公式使用導出值,但不能附加檔案或追蹤版本。 在此練習中,您會在瀏覽器中建立外部清單,因為這是常見的方法。 本文使用在 Office.com 上 建立外部清單 中的程式。 您必須開啟該文章,並使用符合本文章節之指定參數來執行步驟。

建立外部清單

  1. 啟 [建立外部清單]

  2. 使用 AWCustomers 外部內容類型,建立名為 AdventureWorksCustomers 的外部清單。

建立外部清單的檢視

  1. 建立外部清單 AdventureWorksCustomers 的檢視。 在此範例中,請使用 ByRegion數據源篩選

  2. 將它設為默認檢視,然後選取您自己的 [排序]、[ 篩選] 和 [ 限制 ] 值。

管理用戶權力

一旦您或適當的使用者建立外部清單,請務必確定您為其他使用者設定適當的許可權。 如果子網站包含來自父站台的外部清單繼承權限,可能會不慎將權限授與不合適的使用者。 在此範例中,是為將權限授與 AdventureWorksBCSUsers 群組。

管理外部清單的使用者權限

  1. 在 [清單] 索引標籤的 [設定] 群組中,按一下 [清單設定]

  2. 在 [權限與管理] 下方,按一下 [此清單的權限]...

  3. 規劃完成之後,將權限套用至清單。

下表摘要說明 SharePoint 使用者群組的預設外部清單權限:

名稱 權限等級
Excel Services 檢視程式
僅供檢視
<網站名稱> 成員
編輯
<網站名稱> 擁有者
完全控制
<網站名稱> 訪客
讀取

將外部清單連線到 Outlook

外部清單包含對應至已啟用外部清單離線同步處理之 Microsoft Outlook 聯繫人的客戶數據,因此您可以將清單與 Outlook 2016 連線。 線上之後,您可以使用熟悉的 Outlook 使用者介面來檢視、編輯和列印數據。 本文會鏡像將 外部清單連線到 Outlook on Office.com 中的程式。 如需將外部清單連線到 Outlook 的詳細資訊,請參閱該文章。

同步處理外部清單與 Outlook

  1. 開啟包含外部清單的 SharePoint Server 網站。 在功能區的 [ 列表] 索 引卷標上,按兩下 [ 連線 & 匯出 ] 群組中的 [ 連線到 Outlook]

  2. 在 [ Microsoft Office 自定義安裝程式 ] 對話框中,按兩下 [ 安裝]。安裝需要一兩分鐘的時間。

  3. 安裝完成後,按兩下 [ 關閉]

在 Outlook 中確認外部數據的離線存取和同步處理

若要離線更新客戶數據並線上重新整理

  1. 若要讓 Outlook 2016 脫機,請按兩下 [傳送/接收],然後在 [喜好設定] 群組中,按兩下 [離線工作]

  2. 對其中一個 AdventureWorks 客戶進行一或兩項變更。

  3. 若要讓 Outlook 2016 重新上線,請按兩下 [傳送/接收],然後在 [喜好設定] 群組中,按兩下 [在線工作]

  4. 若要同步處理數據,請在瀏覽窗格上,以滑鼠右鍵按兩下 <[小組網站名稱> AWCustomers 外部] 清單,然後按兩下 [ 立即同步處理]

另請參閱

概念

為 SharePoint Server 設定 Business Connectivity Services 解決方案