О системах планирования ресурсов предприятия Scala, iScala
“ Разумеется, можно было бы использовать более новую версию SQL сервера, но покупать его отдельно никто не хочет, хочется использовать бесплатную версию с дополнительными компонентами на соседнем сервере. Но вот незадача, Reporting Services в бесплатной экспресс версии с дополнительными компонентами не умеет работать с "чужими" серверами, т.е. вы не можете просто установить на соседний сервер бесплатную версию SQL Server Express Advanced Edition в качестве сервера отчетов и создать источник данных, обращающийся на соседний сервер, это ограничение бесплатной Express версии. Означает ли это, что мы не можем её использовать? Нет, не означает :)
  • Главная
    • О проекте
      • Разъяснение о проекте и его участниках
      • Заявление / Memorandum
    • Новости проекта
    • Список опубликованных материалов основного раздела
    • Информация, перенесённая из старых форумов
    • Подписаться на новостную рассылку
  • Статьи
    • Статьи
    • Избранное
    • Мысли вслух
  • Процедуры
  • Доходчиво о сложном
    • Обучение
    • Как сделать?
    • iScala «для чайников»
    • Оч.умелые ручки
  • Структура таблиц
    • Scala 5.1 SR13
    • iScala 2.2 HF 2.3318
    • Tables structure changes history from iScala 2.2 SR2 to iScala 3.0 FSP4
    • Epicor iScala 2.3 — 2.03.3363
    • Epicor iScala 2.3 SR1
    • Epicor iScala 2.3 SR2
    • Epicor iScala 2.3 SR3
    • Epicor iScala 3.00 FSP 2 — 3.00.02254
    • Epicor iScala 3.0 FSP4 — 3.0.4267
    • Изменение структуры таблиц iScala 3.1 по сравнению с iScala 3.0 FSP4 / Table structure changes between iScala 3.0 FSP4 and iScala 3.1
    • Epicor iScala 3.1 — 3.1.0511
    • Epicor iScala 3.2 — 3.2.0317
    • Epicor iScala 3.3 — 3.3.0419
    • Epicor iScala 3.4 — 3.4.0399
    • Epicor iScala 3.5 — 3.5.0.0429
    • Изменение полей в таблицах БД iScala 3.4 по сравнению с iScala 3.2 / Difference between DB structure of iScala 3.4 and iScala 3.2
    • Изменение полей в таблицах БД iScala 3.5 по сравнению с iScala 2.2 / Difference between DB structure of iScala 3.5 and iScala 2.2
  • Материалы по модулям iScala
    • Главная Книга
    • Основные Средства
    • Книга Закупок
    • Книга Продаж
    • Заказы на Закупку
      • Требования
    • Заказы на Продажу
    • Управление Запасами
    • Установка, Администрирование
      • Настройка определений документов MSRS
    • Заработная плата
    • Структура базы данных
    • Отчётность SSRS
    • Отчётность AFR
    • Примеры отчётов
    • Примеры отчётов AFR
    • Интеграция с другими системами
    • Epicor Service Connect
  • English
  • Контакты
  • Поиск
Главная  »»»  SQL Server  »»»  Как использовать отчётность SSRS, если у вас старая версия (2000) SQL сервера?

Как использовать отчётность SSRS, если у вас старая версия (2000) SQL сервера?

18.02.2019 Автор Алексей Васильев

В нескольких знакомых мне компаниях такая ситуация: очень старая версия iScala и ещё более древняя версия SQL сервера — SQL Server 2000. А у некоторых ситуация ещё круче, у них Scala 5.1, а не iScala. По разным причинам они не переходят на новую версию iScala, хотя имеют право получить её бесплатно. Одно из препятствий — необходимость обновления всего компьютерного парка. Так или иначе, установить компонент Reporting Services не представляется возможным, так как до появления SQL Server 2005 этот компонент не входил в комплект поставки SQL Server 2000 и его нужно было получать отдельно. В своё время его не получили, а сейчас и не известно, возможно ли это даже теоретически.

Разумеется, можно было бы использовать более новую версию SQL сервера, но покупать его отдельно никто не хочет, хочется использовать бесплатную версию с дополнительными компонентами:

Express With Advanced Tools Installation File Properties

Но вот незадача, Reporting Services в бесплатной экспресс версии с дополнительными компонентами не умеет работать с «чужими» серверами, т.е. вы не можете просто установить на соседний сервер бесплатную версию SQL Server Express Advanced Edition в качестве сервера отчетов и создать источник данных, обращающийся на соседний сервер, выдаётся сообщение об ошибке: «Для используемого выпуска служб Reporting Services необходимо, чтобы для источников данных отчетов и базы данных сервера отчётов применялись локальные реляционные базы данных SQL Server»:

SQL Server Express With Advanced Tools Remote Server Error Message

Это ограничение бесплатной Express версии.

Означает ли это, что мы не можем её использовать? Нет, не означает. Ниже я попытаюсь описать, что можно сделать, чтобы заставить экспресс версию работать с данными из базы данных основного SQL сервера (со старой версией).

Сначала попытаемся в базе данных SQL Server Express Advanced Edition (т.е. на новом сервере с бесплатной версией SQL, которую мы хотим использовать в качестве сервера отчётности) создать Linked Server. Проблема эта нетривиальная, т.к. моя версия SQL, т.е. SQL Server 2012 Express Advanced Edition по умолчанию использует компонент, который не умеет подключаться к 2000 SQL серверу. Но это можно сделать с помощью SQL запроса примерно такого содержания:

EXEC sp_dropserver @server=N'W2003R2Q2000', @droplogins='droplogins'
GO

EXEC sp_addlinkedserver @server = N'W2003R2Q2000',
@srvproduct=N'MSDASQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={SQL Server};SERVER=W2003R2Q2000;Trusted_Connection=no;'

EXEC sp_addlinkedsrvlogin @rmtsrvname=N'W2003R2Q2000',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'sa',
@rmtpassword=N'xxxxxxxxx'
GO

В результате в разделе Linked Servers появится ссылка на сервер со старой версией SQL — т.е. на сервер, где хранятся базы данных Scala/iScala:

Express With Advanced Tools Add Linked Server

Теперь мы можем на сервере с SQL 2012 в качестве теста создать хранимую процедуру, выводящую список складов с нашего основного сервера (с SQL 2000):

Express With Advanced Tools Remote Server Local Stored Procedure

Создадим тестовый отчёт и опубликуем его на сервере, чтобы проверить, будет ли это работать:

Создадим тестовый отчёт и опубликуем его на сервере, чтобы проверить, будет ли это работать

Работает! А раз это работает у меня, то может работать и у вас 🙂

Рубрика: SQL Server, Избранное, Отчётность SSRS Метки: iScala, Reporting Services, Scala 5.1, SQL Server, для чайников, отчёт
VK Telegram

Copyright © 2023 О системах планирования ресурсов предприятия Scala, iScala.

Gammapolis WordPress Theme by ERP & Business Consulting

Прокрутка вверх