Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 微软报告服务。我应该使用webservices作为数据源吗?_C#_Sql_.net 3.5_Reporting Services - Fatal编程技术网

C# 微软报告服务。我应该使用webservices作为数据源吗?

C# 微软报告服务。我应该使用webservices作为数据源吗?,c#,sql,.net-3.5,reporting-services,C#,Sql,.net 3.5,Reporting Services,我左右为难。 以下是我的设置: ASP.NET/NET 3.5使用标准(DB层、BL层等)构建web应用程序 我需要生成一些报告。实现这一点的标准方法是直接使用reporting services查询数据库,或者让reporting services查询web服务(我将创建) 我喜欢web服务方法,因为如果基础架构发生更改,我只需要确保我的web服务返回正确的数据。报告服务不受影响 如果使用直接查询数据库,则需要更新reporting services 我应该使用web服务()还是直接查询?我认

我左右为难。 以下是我的设置: ASP.NET/NET 3.5使用标准(DB层、BL层等)构建web应用程序

我需要生成一些报告。实现这一点的标准方法是直接使用reporting services查询数据库,或者让reporting services查询web服务(我将创建)

我喜欢web服务方法,因为如果基础架构发生更改,我只需要确保我的web服务返回正确的数据。报告服务不受影响

如果使用直接查询数据库,则需要更新reporting services


我应该使用web服务()还是直接查询?

我认为更好的方法是(如果可能的话)使用服务作为应用程序和报表服务的API。这将使代码/逻辑保持在中心位置,并实现您在reporting services上的目标。

使用web服务使维护更容易。性能会受到一些影响,但与硬件、数据库设计、查询等相关的程度如何。。。我会使用web服务,因为AdobeFlex应用程序就是这样做的,而Microsoft WCF似乎在为DotNet开发人员指明web服务数据源的方向


另一个好处是,您可以使用具有相同服务的多个客户端。

为了提高性能,我建议使用直接查询。我的目标是在一个地方进行更改。使用webservices,我只需要确保web服务返回正确的数据,而不必担心报表服务。例如,数据库中简单的列重命名将迫使我转到reporting services并更改查询,而对于webservices,我不必担心这一点。现在,如果这是一个比列重命名更复杂的更改呢?如果您可以等待,OData将是一个很好的选择。