Download - SSRS не для dba
![Page 1: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/1.jpg)
sql server reporting servicesГеоргий Григорьев
![Page 2: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/2.jpg)
Первая версия
![Page 3: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/3.jpg)
![Page 4: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/4.jpg)
Результат работы приложения
SELECT w.FullName ,w.Position ,r.TestDate ,SUM(r.IsCorrectAnswer)/COUNT(r.ResultId) AS [Score]FROM Results r INNER JOIN Workers w ON w.WorkerId = r.WorkerIdWHERE r.TestDate>DATEADD(MONTH ,-1 ,GETDATE())GROUP BY w.WorkerId ,w.FullName ,w.Position ,r.TestDate
![Page 5: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/5.jpg)
Результат работы приложения
![Page 6: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/6.jpg)
Report Builder
![Page 7: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/7.jpg)
Report Builder
![Page 8: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/8.jpg)
Report Builder
![Page 9: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/9.jpg)
Report Builder
![Page 10: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/10.jpg)
Visual Studio
SQL Server Data Tools
![Page 11: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/11.jpg)
Visual Studio
![Page 12: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/12.jpg)
rdl отчеты
![Page 13: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/13.jpg)
Visual Studio
![Page 14: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/14.jpg)
Хранение отчетов
![Page 15: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/15.jpg)
User-friendly отчеты
![Page 16: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/16.jpg)
● ReportExecutionService○ http://ReportingServiceURL/ReportServer/ReportExecution2005.asmx?wsdl
● ReportService2010○ http://ReportingServiceURL/ReportServer/ReportService2010.asmx?wsdl
SOAP сервисы SSRS
![Page 17: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/17.jpg)
SOAP сервисы SSRS
![Page 18: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/18.jpg)
Soap api reporting service’аusing (var rsClient = new ReportExecutionServiceSoapClient("ReportExecutionServiceSoap")) { rsClient.ClientCredentials.Windows.ClientCredential = CreateClientCredential(); rsClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; rsClient.ClientCredentials.Windows.AllowNtlm = true; string reportPath = "/" + SERVER_REPORTS_FOLDER + "/" + config.ReportServerName; string format = config.ExportFileType.ToString();#region ssrs standart variables FileStream stream = null; string fileName, filePath; try { execHeader = rsClient.LoadReport(trustedUh, reportPath, historyID, out serverInfo, out execInfo); rsClient.SetExecutionParameters(execHeader, trustedUh, parameters, locale, out execInfo); byte[] result; rsClient.Render(execHeader, trustedUh, format, devInfo, out result, out extension, out encoding, out mimeType, out warnings, out streamIDs); fileName = config.ReportFileName + "." + extension; var exportdirectory = FilesDirectoryHelper.GetExportDirectoryPath(config.ExportDirectory); filePath = Path.Combine(exportdirectory, fileName); stream = File.OpenWrite(filePath); stream.Write(result, 0, result.Length); } catch (Exception e) { logger.LogException(@"Во время экспорта отчета """ + config.ReportFileName + @""" возникла ошибка", e); fileName = null; } finally { string message= @"Завершена выгрузка файла """ + config.ReportFileName + @""", файл сохранен под именем " + fileName + @"."; logger.Log(LogEventType.Info, message); if(stream == null) ?? stream.Close(); } return filePath; }
![Page 19: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/19.jpg)
Soap api reporting service’а#region ssrs standart variables string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; string historyID , encoding, mimeType, extension; Warning[] warnings; string[] streamIDs; string locale = "ru-RU"; var execInfo = new ExecutionInfo(); var trustedUh = new TrustedUserHeader(); var execHeader = new ExecutionHeader(); var serverInfo = new ServerInfoHeader();#endregion
var config = new ReportConfiguration();config.ReportServerName = reportName;config.ReportFileName = fileName;config.ExportFileType = type;config.ExportDirectory = filesDirectory;
string user = ConfigurationManager.AppSettings["SSRSUser"];string password = ConfigurationManager.AppSettings["SSRSPassword"];string domain = ConfigurationManager.AppSettings["SSRSDomain"];var cred = new NetworkCredential(user, password, domain);return cred;
![Page 20: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/20.jpg)
Подписки
![Page 21: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/21.jpg)
Подписки
![Page 22: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/22.jpg)
ReportViewer
![Page 23: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/23.jpg)
ReportViewer
![Page 24: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/24.jpg)
Сравнение версийExpress Workgroup Standard Enterprise
Data sources Local SQL Server instance SQL Server and Analysis Services Да
Rendering formats Excel, PDF, Image (RGDI, Print), HTML, Word Да
Management Report ManagerSupports SQL Server
Management Studio, Report Manager
Да
Caching, History, Delivery, Scheduling Нет Да
Extensibility Нет
Можно добавлять/удалять свои
источники данных, рендеры, и средства
распространения
Да
Custom authentication Нет ДаScale-out Report Servers Нет Да
Subscriptions Нет ДаData-driven subscriptions Нет Да
Role-based security Поддерживается, но роли изменять нельзя
Поддерживается, но роли изменять нельзя
Поддерживается, можно добавить свои роли Да
Report bulider Нет ДаReport models Нет Да
Model-level security Нет ДаInfinite clickthrough Нет Да
![Page 25: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/25.jpg)
● Формирование и доставка статистических и административных отчетов.
● Формирование отчетов о результатах работы приложения.● Встраивание отчета в ваше приложение.● Генерация статичного html контента.
Применение SSRS
![Page 26: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/26.jpg)
?Вопросы
![Page 27: SSRS не для dba](https://reader036.vdocuments.mx/reader036/viewer/2022081508/55ab1a801a28ab5e268b45e2/html5/thumbnails/27.jpg)
https://ru.linkedin.com/in/georgygrigoryev
https://www.facebook.com/iamkarlson
http://iamkarlson.tk/
Контакты