+ All Categories
Home > Technology > SSRS не для dba

SSRS не для dba

Date post: 19-Jul-2015
Category:
Upload: georgyi-grigoryev
View: 85 times
Download: 2 times
Share this document with a friend
27
sql server reporting services Георгий Григорьев
Transcript
Page 1: SSRS не для dba

sql server reporting servicesГеоргий Григорьев

Page 2: SSRS не для dba

Первая версия

Page 3: SSRS не для dba
Page 4: SSRS не для dba

Результат работы приложения

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

Результат работы приложения

Page 6: SSRS не для dba

Report Builder

Page 7: SSRS не для dba

Report Builder

Page 8: SSRS не для dba

Report Builder

Page 9: SSRS не для dba

Report Builder

Page 10: SSRS не для dba

Visual Studio

SQL Server Data Tools

Page 11: SSRS не для dba

Visual Studio

Page 12: SSRS не для dba

rdl отчеты

Page 13: SSRS не для dba

Visual Studio

Page 14: SSRS не для dba

Хранение отчетов

Page 15: SSRS не для dba

User-friendly отчеты

Page 16: SSRS не для dba

● ReportExecutionService○ http://ReportingServiceURL/ReportServer/ReportExecution2005.asmx?wsdl

● ReportService2010○ http://ReportingServiceURL/ReportServer/ReportService2010.asmx?wsdl

SOAP сервисы SSRS

Page 17: SSRS не для dba

SOAP сервисы SSRS

Page 18: SSRS не для dba

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

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

Подписки

Page 21: SSRS не для dba

Подписки

Page 22: SSRS не для dba

ReportViewer

Page 23: SSRS не для dba

ReportViewer

Page 24: SSRS не для dba

Сравнение версий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

● Формирование и доставка статистических и административных отчетов.

● Формирование отчетов о результатах работы приложения.● Встраивание отчета в ваше приложение.● Генерация статичного html контента.

Применение SSRS

Page 26: SSRS не для dba

?Вопросы

Page 27: SSRS не для dba

https://ru.linkedin.com/in/georgygrigoryev

https://www.facebook.com/iamkarlson

http://iamkarlson.tk/

Контакты


Recommended