Visual Studio解决方案报告项目的共享数据源?

时间:2009-08-05 13:18:47

标签: visual-studio reporting-services

简单的问题......我有一个包含多个报告服务项目的VS 2005解决方案。目前,每个项目都有自己的共享数据源,这使得更改数据库目标非常繁琐。

有没有办法在整个解决方案中共享数据源(即解决方案中的所有项目都将使用在一个地方定义的数据源?)。

我以为我可以创建一个只保存一个数据源项目然后使所有其他项目依赖于该项目的项目,但是,新项目中的共享日期源不会出现在其他项目中选择。

帮助!我查看了网上的信息,但没有多少可用。必须有一个简单的解决方案。

由于

3 个答案:

答案 0 :(得分:3)

对不起,我忽略了你的问题when I posted the same

尽管如此,我正在使用的技术在答案中进行了描述。它感觉有点阴暗和卑鄙,但似乎到目前为止工作:

  1. 制作一个新的报告项目来保存您的共享数据源。我打电话给我Data Source
  2. 将您的共享数据源(让我们称之为My Shared Data Source)复制到该新项目。
  3. 如有必要,请将My Shared Data Source复制到每个实际的报告项目,并按照您希望的方式进行链接。但可能你已经这样设置了。
  4. 关闭Visual Studio以确保所有更改都保存在文件系统中,并确保它不会破坏我们接下来的一些“后台”编辑。
  5. 在普通的Windows资源管理器(或其他)中,删除除My Shared Data Source.rds以外的每个项目文件夹中的Data Source文件。
  6. 使用文本编辑器或XML文件编辑器编辑每个项目的.rptproj文件,将Project.DataSources.ProjectItem.FullPath元素的文本从My Shared Data Source.rds更改为..\Data Source\My Shared Data Source.rds
  7. 现在每个项目仍然有自己的引用到数据源,但所有这些引用都指向相同的底层物理文件,因此它们都共享一个数据源规范。

答案 1 :(得分:1)

根据this post by Paul Turley,似乎这是不可能的。您必须将数据源复制到每个项目中。好消息是,如果将它们部署到同一位置,服务器上只应存在一个数据源。

答案 2 :(得分:0)

这可能不是您的想法,但是当我编写一个由几个不同的应用程序访问相同数据的应用程序时,我通常采用两种方法之一。

  1. 将我的所有数据访问逻辑写入类库项目,并从其他项目中引用它。

  2. 将我的数据访问逻辑写入Web服务库并添加Web引用。

  3. 如果我访问的数据很可能在未来的开发中使用,例如访问公司范围的客户名单等,我通常会选择选项2。