2008-09-17 52 views
2

DBA在这里维护所有SQL Server和SQL报告服务器。我在Visual Studio中有一个自定义开发的SQL Reporting 2005项目,它可以在我的本地SQL数据库和报告实例上正常运行。我需要部署到生产服务器,所以我有一个在SQL Reporting 2005服务器上创建的文件夹,具有上传文件的权限。通常情况下,从Visual Studio中进行部署是上传报告文件所需的全部内容。如何在数据源被锁定时部署SQL Reporting 2005?

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

当我试图从VS部署,它给我的错误

'/数据源已存在的项目。

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

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

+0

您或任何人都可以从其他开发计算机进行部署吗?我一直关注这个问题,希望得到答案。你有没有发现关于部署概念的其他内容? – 2008-09-20 10:36:00

回答

0

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

2

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

如果您的部署由于数据源的某个安全问题而失败,请将其删除,然后部署其余项目。即使数据源出现错误,VS也会部署报告或模型。如果项目仍然没有部署,那么问题不是你的数据源。

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安全系统中没有规定用于控制此功能,并且当他们发现不仅笼门打开,而且它不能关闭时,它们将完全变为坚固。

+3

Ooooh ...那真是太棒了/邪恶;我无法决定是投票还是低投票。 ;) – Matt 2008-10-01 03:19:43

+0

有趣。但他们肯定会把我关闭的。 :) – spoulson 2008-10-01 13:09:47

0

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

相关问题