Как развернуть SQL Reporting 2005, когда источники данных заблокированы? - PullRequest
2 голосов
/ 17 сентября 2008

Администраторы баз данных поддерживают все серверы SQL Server и SQL Reporting. У меня есть специально разработанный проект SQL Reporting 2005 в Visual Studio, который отлично работает на моей локальной базе данных SQL и экземплярах отчетов. Мне нужно развернуть на рабочий сервер, поэтому на сервере SQL Reporting 2005 была создана папка с разрешениями для загрузки файлов. Обычно развертывание из Visual Studio - это все, что необходимо для загрузки файлов отчетов.

Однако в целях безопасности источники данных хранятся в явном виде администраторами баз данных и хранятся в отдельной закрытой общей папке на сервере отчетов. Я заставил их создать источник данных для меня.

Когда я пытаюсь выполнить развертывание из VS, выдает ошибку

Элемент '/ Источники данных' уже существует.

Я получаю это независимо от того, развертываю ли я весь проект или только один файл отчета. Я уже установил OverwriteDataSources=false в свойствах проекта. URL-адрес и папка TargetServer верны.

Полагаю, я мог бы скопировать файлы вручную, но я бы хотел развернуть их из VS. Что я могу делать не так?

Ответы [ 5 ]

3 голосов
/ 01 октября 2008

Добавьте строковый параметр 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 голосов
/ 23 сентября 2008

Вы получите предупреждение, если свойства источника данных таковы, что они не позволяют перезаписывать источник данных. Однако остальная часть вашего проекта или отчета должна быть развернута. Проверьте свойства вашего отчета, и я думаю, что вы найдете, что это текущая версия. Это всего лишь предупреждение, и оно не является фатальным для развертывания вашего отчета.

Если ваше развертывание не удается из-за проблем с безопасностью источника данных, удалите его, и остальная часть вашего проекта должна быть развернута. VS развернет отчеты или модели, даже если вы получите ошибку в источнике данных. Если проект по-прежнему не будет развернут, значит, проблема не в вашем источнике данных.

1 голос
/ 23 марта 2010

Прости ветку некромантии, но это то, что появилось в Google.

Хотя я не могу взять кредит за ответ, я подозреваю, что это действительно происходит http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/33423ef3-4a28-4c1d-aded-eac33770659d

У меня та же проблема, и мой администратор баз сейчас настраивает меня.

0 голосов
/ 23 марта 2010

Это должно быть только предупреждением (у нас такая же ситуация в моем магазине). Единственный способ предположить, что это может привести к ошибке, - это если бы в Visual Studio была настроена обработка предупреждений как ошибок (в этом случае она не развернулась бы из-за ошибки). Попробуйте изменить эту опцию, если она установлена.

0 голосов
/ 17 сентября 2008

Проверяли ли вы конфигурацию, в которой для свойства проекта OverwriteDataSource установлено значение False? Конфигурация по умолчанию - Active (DebugLocal), но вам может потребоваться установить для параметра OverwriteDataSource значение False для другой конфигурации, такой как Production. Вы можете использовать Все конфигурации, чтобы принудительно установить для параметра OverwriteDataSource значение False для всех развертываний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...