SharePoint 2010 Web应用程序>数据库连接

时间:2011-03-28 19:54:14

标签: .net sharepoint sharepoint-2010

我刚开始学习SharePoint 2010.我有一个现有的ASP.Net Web应用程序,我想重写为SharePoint 2010应用程序。它是一个小型数据库驱动的应用程序,它还使用JQuery JSON调用来记录一些用户活动。我相信我需要创建自定义Web部件才能实现我的目标。你能否对以下问题有所了解?

  1. 将自定义Web部件连接到数据库的最佳方法是什么。
  2. 应用程序中的哪个位置存储了数据库连接字符串?
  3. 我可以在这个场景中看到任何设计模式吗?
  4. 将登录用户链接到自定义数据库表的最佳方法是什么?
  5. 由于

3 个答案:

答案 0 :(得分:2)

  1. Microsoft Business Connectivity Services(BCS)就是您的答案。
  2. 您可以为webpart获取连接字符串的参数,也可以将其存储在SharePoint Server的web.config文件或Web服务的配置文件中。
  3. 您可以尝试在MSDN上亲自动手: Creating SharePoint 2010 Web Parts That Can Read and Write Data to External Data Sources
  4. 您可以选择SQL身份验证(用户可以提供凭据)或使用Windows身份验证。
  5. 基本上你将有三层:SharePoint Srever; Web服务和SQL Server。

    你需要: 1.一种Web服务,它将您的SQL数据公开为外部内容类型。 How to: Create an External Content Type Based on a Web Service 2.可视化Web部件,您将在其中提供参数并调用服务。

答案 1 :(得分:2)

Sharepoint是一个基于asp.net的web应用程序,所以我认为你有两个选择:

  1. 使用常规代码和asp.net控件连接数据库

    • 直接在web.config中添加连接字符串inetpub / wwwroot / wss / virtualdirectories / 端口号 /web.config
    • 您可以使用SPContext.Current.Web.CurrentUser;
    • 获取当前用户
    • 您可以使用当前的代码
  2. 使用外部列表

    • 您可以通过SharepointDesigner 2010直观地制作它

答案 2 :(得分:1)

我认为BCS是一个答案,但不一定是“答案”。如果您现有的应用程序具有连接到相关数据库和/或代码的代码,以便在屏幕上呈现您想要的内容,那么您可以或多或少地重复使用此代码。在Web部件的代码隐藏中,在应用程序页面的代码隐藏等等。

BCS提供价值的一个领域是能够轻松地将您的数据暴露给搜索引擎。但是,在这种情况下,db中的每一行都等同于列表中的项目,这可能会为较大的应用程序创建一个扩展限制。