我正在處理要查詢和寫入另一個數據庫的自定義Web部件。可以在SharePoint 2010中使用直接SQL(或ORM)代替BCS
BCS似乎使這個過程複雜化不僅僅是幫助它,所以我想知道是否可以使用直接訪問SQL Server而不使用BCS?
我正在處理要查詢和寫入另一個數據庫的自定義Web部件。可以在SharePoint 2010中使用直接SQL(或ORM)代替BCS
BCS似乎使這個過程複雜化不僅僅是幫助它,所以我想知道是否可以使用直接訪問SQL Server而不使用BCS?
簡短的回答...去吧 - 只使用DB,不要使用BCS。
但它確實有點...
如果您使用BCS,則可以利用某些Sharepoint設施(例如搜索)。
請在這裏找到BCS的全部優點:
http://msdn.microsoft.com/en-us/library/ee556440.aspx
但是有一個很大的疑難雜症在這裏....如果你使用SharePoint基礎上有你可以用BCS做了一些限制,所以請記住這一點。
通過數據庫訪問的一個缺點是您不再擁有一個用於數據的中央位置,並且這可能會產生問題。但如果你設計好你的架構,你應該沒問題。因此,總的來說,如果你不需要BCS的優點,並且你可以設計一個可靠的架構(也許面向服務),那麼我個人的建議就是在你的web部分中使用數據庫。
對不起 - BCS是錯誤的答案 - 您應該使用Secure Store Service;這就是我們如何連接「外部」數據源和SharePoint。否則,自定義Web部件必須以某種方式嵌入登錄信息(通過屬性,web.config或註冊表) - 否則,SSS就是您想要去的地方。
有趣的評論 - 我沒有使用SSS我自己。這裏有一個鏈接http://technet.microsoft.com/en-us/library/ee806866.aspx。我稍後會看看。 @Josh - 你可能也想檢查這個鏈接。 (+1) – 2012-08-13 14:51:39
好的答案,對於大多數人的需求恕我直言,SSS有點複雜。對於絕大多數的外部數據庫查詢,你最終將使用連接字符串?我有一個類似的問題,但最終建立了一個WCF數據服務(Astoria)連接到Oracle。 – esp 2012-08-14 02:59:11
Secure Store Service可用於存儲登錄信息,而不是實際提供對數據庫的訪問。實際上,BCS確實使用Secure Store服務來維護登錄信息。我還編寫了直接訪問數據庫(服務器端)的自定義解決方案,但在SSS中保留其登錄信息,因此SSS在決定BCS和直接訪問之間基本上不是問題 – Hutch 2014-12-17 17:59:33
BCS提供的另一件事是在不必編寫任何自定義GUI代碼的情況下執行CRUD(或更具體地說,CUD)操作的能力......這可能或可能不足以使其值得使用。 – Hutch 2014-12-17 18:04:19