这里的DBA维护所有SQL Server和SQL Reporting服务器。我在Visual Studio中有一个自定义开发的SQL Reporting 2005项目,该项目在我的本地SQL数据库和报告实例上运行良好。我需要部署到生产服务器,因此我在SQL Reporting 2005服务器上创建了一个文件夹,该文件夹具有上传文件的权限。通常,只需从Visual Studio中进行部署即可上载报告文件。
但是,出于安全考虑,数据源由DBA显式维护,并存储在报告服务器上的单独锁定公共文件夹中。我让他们为我创建了数据源。
当我尝试从VS部署时,它会给我错误
项目'/数据源'已存在。
无论我是部署整个项目还是只部署一个报告文件,我都会得到这个。我已经在项目属性中设置了OverwriteDataSources=false
。 TargetServer URL和文件夹验证正确。
我想我可以手动复制文件,但我希望能够从VS内部署。我能做错什么?
答案 0 :(得分: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安全系统中没有规定控制它,当他们发现笼门不仅打开而且无法关闭时,他们会完全疯了。
答案 1 :(得分:2)
如果数据源上的属性不允许您覆盖数据源,则会收到警告。但是,您的项目或报告的其余部分应该部署。检查报告的属性,我认为您会发现它是当前版本。这只是一个警告,这对您的报告部署来说并不是致命的。
如果您的部署由于数据源的某些安全问题而失败,则将其删除,并且应部署项目的其余部分。即使您在数据源上出错,VS也会部署报告或模型。如果项目仍未部署,则问题不是您的数据源。
答案 2 :(得分:1)
原谅线索的死灵,但这就是谷歌提出来的。
虽然我不能赞同答案,但我怀疑这是实际发生的事情 http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/33423ef3-4a28-4c1d-aded-eac33770659d
我遇到了同样的问题,我的DBA现在正在安排我。
答案 3 :(得分:0)
您是否检查了将OverwriteDataSource项目属性设置为False的配置?默认配置为活动(DebugLocal),但您可能必须将OverwriteDataSource设置为False以用于其他配置(例如生产)。您可以使用“所有配置”将所有部署的OverwriteDataSource设置强制为False。
答案 4 :(得分:0)
这应该只是一个警告(我们的店里也有同样的情况)。我可以想象的唯一方法是这会导致错误,如果您将Visual Studio设置为将警告视为错误(由于错误,它将不会部署)。如果已设置,请尝试更改此选项。