我需要从数据库(SQL Server)中的表中选择一些数据并将其显示在SharePoint站点(MOSS 2007)的页面上。
我对MOSS有一点经验,所以我知道我有几个选择:
我从来没有真正使用过任何这些。任何人都可以就每个人的+/-提出建议吗?
答案 0 :(得分:7)
这一切都取决于在SharePoint中显示表格后需要哪些功能。你需要额外的花里胡哨还是数据充分? (想想未来。)这里有一些想法......
商业数据目录(BDC)
如果您希望将SharePoint外观与数据完美地集成在一起并获得一些很酷的功能,那么BDC是一个很好的解决方案。无需编程任何内容和these are the features you get。但是,如果这些数据只能以一种方式使用一次,那么它可能有点过分。
您需要roll your own XML数据描述,以便SharePoint知道如何从数据库中提取数据(或使用像Lightning Tools这样的第三方)。如Colin所述,它需要MOSS的企业许可证。
SQL Server Reporting Services(SSRS)
如果Reporting Services已经可以使用,那么这是最快捷,最简单的解决方案。它运作良好,但由于报告中需要更高级的功能,因此会变得很痛苦。
您应该可以使用报表设计器向导指向您的表格并为您设置所有内容。可以在SharePoint中使用SSRS Web部件,或者实际上您可以使用SharePoint integration mode在SharePoint内部运行SSRS。
申请页面
提到的此方法Steven允许您将ASP.NET应用程序集成到SharePoint中(以便SharePoint网站中的URL可以访问它)。这允许ASP.NET执行任何操作,并且代码隐藏将了解SharePoint,因此您可以根据需要使用它。这里的缺点是代码访问安全性和部署。
请参阅this webcast了解如何操作。
网页
与开发应用程序页面类似,但与SharePoint集成得更多。自定义Web部件非常强大,允许您在SharePoint页面上集成ASP.NET代码。如您所知,可以将Web部件拖动到任何位置并提供一致的属性窗格。同样,需要考虑代码访问安全性和部署。
如果您喜欢Visual Studio中的设计器视图,请注意此isn't the approach that Microsoft push。但是,您可以使用类似SmartPart的内容,您可以将自定义应用程序开发为用户控件,SmartPart将其包装到Web部件中。我现在习惯于以MS的方式进行操作,实际上更喜欢这种额外的控制,但是它可能需要更多的时间。
页面查看器Web部件
如果您根本不想触摸SharePoint安装,请查看此Web部件。它将URL作为参数,并在SSRS或标准ASP.NET中显示包含将作为报表的页面的IFrame。
缺乏集成的缺点是调整IFrame的大小,以及在访问不同域中的URL时可能出现的浏览器安全警告。
答案 1 :(得分:3)
不要忘记DataView Webpart。它有一个相当小的开发足迹,如果你不确定你需要最终结果的核心,那么它作为第一个“切割”的效果非常好。
它呈现使用XSLT,让您完全控制最终的HTML,因此它可以使用Javascript和co做一些漂亮的事情。
答案 2 :(得分:0)
您是否曾使用.NET Framework开发网页? MOSS 2007将此框架用于主/模板文件。
因此,您最好的选择是创建一个ASPX模板文件以在网页上显示结果。
答案 3 :(得分:0)
如果您想要“严格保持Sharepoint”,BDC就是您的选择。问题是,它仅包含在SharePoint的企业版中。如果您有标准版,则可以使用SSRS和SSRS webpart,或者创建自己的webpart。这样,您就可以在站点中的任何位置使用数据显示,并且它也与ASP.NET兼容。
答案 4 :(得分:0)
正如Nat所说 - 如果只需要在页面上显示数据库中的一些数据 - DVWP是一个很好的解决方案。只需在SharePoint Designer中打开页面,添加数据库连接,然后在页面上删除Web部件即可。您可以使用几种预先格式化的布局中的任何一种,或者设计/调整您自己的布局,以便根据需要显示数据。
相对简单,很多在线HowTos,比BDC更快/更容易设置。