代码之家  ›  专栏  ›  技术社区  ›  spoulson

如何在锁定数据源时部署SQL Reporting 2005?

  •  2
  • spoulson  · 技术社区  · 16 年前

    这里的dba维护所有的sql server和sql reporting服务器。我在visual studio中有一个定制开发的sql reporting 2005项目,它在本地sql数据库和报表实例上运行良好。我需要部署到生产服务器,因此我在sql reporting 2005服务器上创建了一个文件夹,该服务器具有上载文件的权限。通常,从visual studio内部部署是上载报表文件所需的全部内容。

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

    当我试图从vs部署时,它给了我一个错误

    项'/data sources'已存在。

    无论是部署整个项目还是只部署一个报告文件,我都会得到这个结果。我已经准备好了 OverwriteDataSources=false 在项目属性中。已验证TargetServer URL和文件夹是否正确。

    我想我可以手动复制这些文件,但我希望能够从vs内部部署。我可能做错了什么?

    5 回复  |  直到 9 年前
        1
  •  3
  •   Peter Wone    16 年前

    向报表中添加一个名为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>
    

    现在,您可以将数据库连接字符串作为报表参数传递。小心不要提到你的数据库,因为在SSRS安全系统中没有规定用于控制这一点,当他们发现不只是笼子门打开,它不能关闭时,他们会完全疯掉。

        2
  •  2
  •   ddill65    16 年前

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

    如果由于数据源的某些安全问题而导致部署失败,请将其删除,然后应部署项目的其余部分。即使在数据源上出现错误,vs也会部署报表或模型。如果项目仍不部署,则问题不在于数据源。

        3
  •  1
  •   Perplexed    14 年前

    原谅线巫术,但这是在谷歌出现的。

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

    我也有同样的问题,我的DBA正在给我安排。

        4
  •  0
  •   Chris Woodruff    16 年前

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

        5
  •  0
  •   marr75    14 年前

    这应该只是个警告(我们店里也有同样的情况)。我唯一能想到的错误是如果VisualStudio集将警告视为错误(因为错误,它不会部署)。如果设置了此选项,请尝试更改它。