2

这里的 DBA 维护所有 SQL Server 和 SQL 报告服务器。我在 Visual Studio 中有一个自定义开发的 SQL Reporting 2005 项目,该项目在我的本地 SQL 数据库和报告实例上运行良好。我需要部署到生产服务器,所以我在 SQL Reporting 2005 服务器上创建了一个具有上传文件权限的文件夹。通常,只需从 Visual Studio 中进行部署即可上传报告文件。

但是,出于安全目的,数据源由 DBA 明确维护,并存储在报告服务器上单独的锁定公用文件夹中。我让他们为我创建数据源。

当我尝试从 VS 部署时,它给了我错误

项目“/数据源”已存在。

无论我是部署整个项目还是仅部署一个报告文件,我都会明白这一点。我已经OverwriteDataSources=false在项目属性中设置了。TargetServer URL 和文件夹已验证正确。

我想我可以手动复制文件,但我希望能够从 VS 中进行部署。我可能做错了什么?

4

5 回答 5

3

将一个名为 ConnectionString 的字符串参数添加到您的报告中并保存。接下来,在文本编辑器中打开您的 RDL 并像这样更改数据源定义。

  <DataSources>
    <DataSource Name="preserve the datasource name you've been using">
      <ConnectionProperties>
        <DataProvider>SQL</DataProvider>
        <ConnectString>=Parameters!ConnectionString.Value</ConnectString>
      </ConnectionProperties>
      <rd:DataSourceID>preserve your existing GUID</rd:DataSourceID>
    </DataSource>
  </DataSources>

您现在会发现可以将数据库连接字符串作为报告参数传入。请注意不要向您的 DBA 提及这一点,因为 SSRS 安全系统中没有对此进行控制的规定,当他们发现笼门不仅打开,而且无法关闭时,他们会完全发疯。

于 2008-10-01T03:08:35.303 回答
2

如果数据源上的属性不允许您覆盖数据源,您将收到警告。但是,应该部署项目或报告的其余部分。检查报告的属性,我认为您会发现它是当前版本。这只是一个警告,这对您的报表部署并不致命。

如果您的部署由于数据源的某些安全问题而失败,则将其删除,并且应该部署项目的其余部分。即使您在数据源上遇到错误,VS 也会部署报告或模型。如果项目仍然无法部署,那么问题不在于您的数据源。

于 2008-09-23T13:25:26.677 回答
1

原谅线程死灵法,但这就是谷歌提出的。

虽然我不能相信答案,但我怀疑这是实际发生的事情 http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/33423ef3-4a28-4c1d-aded-eac33770659d

我遇到了同样的问题,我的 DBA 现在正在设置我。

于 2010-03-23T17:46:30.987 回答
0

您是否检查了将 OverwriteDataSource 项目属性设置设置为 False 的配置?默认配置为 Active(DebugLocal),但您可能必须将 OverwriteDataSource 设置设置为 False 以用于其他配置,例如生产。您可以使用所有配置将所有部署的 OverwriteDataSource 设置强制为 False。

于 2008-09-17T16:20:28.800 回答
0

这应该只是一个警告(我们在我的商店也有同样的情况)。我可以想象这会导致错误的唯一方法是,如果您将 Visual Studio 设置为将警告视为错误(然后由于错误而不会部署)。如果已设置,请尝试更改此选项。

于 2010-03-23T17:50:41.803 回答