Sql
Server Reporting Services e’ una piattaforma che supporta la gestione del ciclo
di vita dei report,ovvero :
Creazione
dei report con Report Designer o tool di terze parti che fanno uso di
RDL(Report Definition Language) uno standard basato su Xml.
Costruzioni
di grafici,matrici,tabelle pivot.
Ordinare,filtrare,raggruppare
i dati.
Inserire
codice .net in tutto il contesto del report.
Supporta
le seguenti sorgenti dati :OleDb,Odbc,Sql nativo,Oracle nativo.
L’amministrazione e’ possibile effettuarla
con Report Manager,utilizzando direttamente il webservices oppure con
un’interfaccia win32.
I
report,le cartelle e le risorse collegate sono pubblicate e gestite da un
WebServices(ReportService.asmx) contenuto nella virtual ReportServer.
Permette di fornire report in vari formati agli utenti tramite E-mail o file Sharing.
Nel primo caso e’ necessario che sia presente un smtp server.
La distribuzione avviene tramite sottoscrizione(subscription).
Il
delivery(distribuzione) puo’ essere On-Demand(su Richiesta) o Event.
Il Report Designer necessita dell’installazione di Vs.Net 2003,e quindi
del FrameWork 1.1
Windows 2003,Windows Xp
Sp1,Windows 2000 prof Sp4.
FrameWork 1.1. ,se non c’è lo installa il setup di reporting.
Sql server 2000 sp3a (se installazione a 2
livelli)
Standard
Viene installato tutto il software su una
macchina,non c’e’ possibilità di scalare.
Developer
Solo
per ambienti di test e sviluppo.Supporta piu’ s.o. rispetto all’enterprise.
Enterprise
Da
utilizzare per una distribuzione su WebFarm ovvero è possible installare piu’
istanze di report server database.
L’installazione
installa tutti i componenti in locale(WebServer),fatta eccezione per il report
server database che puo’ essere configurato per essere lanciato su un’istanza
remota di Sql(3 livelli).
Viene
distribuito come add-on di sql,infatti l’installazione avviene nella stessa
cartella.
Utilizza
Sql server per memorizzarci i metadati e la definizione dei report,oltre a
tutta una serie di informazioni sulla sicurezza,scheduling,delivering.
Utilizza
la stessa licenza di sql,non puo’ essere utilizzato su msde.
Sui client e’ installato Vs.Net 2003 o tool terze parti che supportino RDL.
Sul Server Web,nel quale deve essere presente il framework 1.1(se non c’e’ lo installa lui) e un’istanza di sql server, verrà installato il Report Manager,Report Server e il Db Report Server(Sql).

Sui client e’ installato Vs.Net 2003 o tool terze parti che supportino RDL
Sul Server Web e’ installato il Report Manager e il Report Server.
Sul Db Server e’ installato Sql per immagazzinare le definizioni dei report.


Fotografica del report
La schedulazione avviene creando un job attravero Sql Agent.
Viene creato uno snapshot ogni tot secondi.
Contiene la cronologia degli snapshot creati.
Sottoscrivo il report ad essere consegnato in
un determinato formato(pdf,excel...) in una determianta cartella (share di
rete,\\renzif\d$) o via email(smtp server)
Permette di effettuare una copia del report per applicare sicurezza e parametri differenti.
Html,Pdf,Immagine,Excel,xml....
Piattaforma matura,arrivati alla decima versione.
Connettività con prodotti ERP/CRM piu’ popolari.
L’estensione
non e’ cosi semplice
Formato
proprietario dei report
Impostare il regional setting su english.
Impostare nelle proprietà del datasource utilizzato dal report,”Credential stored securely...” impostando un utente e password corretti.
Sembra non funzionare con i report che hanno parametri.
Il deploy di un report sul report server puo’ essere fatto anche da riga di comando utilizzando l’RS utility e lo script opportunatamente modificato nel percorso dei report da deployare:
C:\Program
Files\Microsoft SQL
Server\MSSQL\ReportingServices\Samples\Scripts\PublishSampleReports.rss
cd
C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\Samples\Scripts
/*Assicurarsi
che il file rss contenga il percorso dei report*/
/*lanciare
da cmd*/
rs -i
PublishSampleReports.rss -s http://localhost/reportserver -v
parentFolder="Sample Reports"
Fare new dataset,impostare command type=stored procedure.Inserire il nome della procedure o del package nella forma “Pack.Procedure”.
E’ possibile immettere direttamente all’interno della query,condizioni.
=“select * from employee” &
iif(Parameters!name.Value=0,””,” where name=@parametro”)
Impostare sotto criteria del dataset @parametro.
Sotto Report Parameters sara’ immediatamente visibile.
Tasto destro sul dataset(a sinistra) e fare Add Field.
Nella propertie specifica(es. colore) della Textbox,inserire sotto expression:
=IIF(condizione,”Blue”,”Black”)
user!userid
Impostare sulla property visibility della textbox la condizione:
=IIF(user!userid=”spin\renzif”,true,false)
Sul
report properties, tab references, aggiungere la dll .net.
Utilizzare
la seguente sintassi : Assembly.Classe.Metodo(valore) ;
Vedi
‘using custom assemblies with reports su microsoft’
E’
possibile deployare un report sotto Sql server utillizzando Report
Designer o il tasto Upload File del Report Manager.
HtmlFragment=true(da
verificare)
Visualizza
il report RptOrder con zoom 50%,con toolbar e formato di esportazione Html
http://localhost/reportserver?/prjReporting/rptOrder&rs:Command=Render&rc:zoom=50&rc:parameters=true&rc:toolbar=true&rc:docmap=false&rs:Format=HTML4.0
N.B.
per la stringa dei parametri fai riferimento all’applicazione di esempio
RsExplorer.
Aggiungere
all’url ¶metro=valore à e’ case sensitive
Ceccare
nel report manager ”richiesta
all’utente”
(prompt user)
N.B. fai
riferimento all’applicazione di esempio RsExplorer.
In sostanza
bisogna aggiungere sulla windows form il componente Com Microsoft Web
Browser raggiungibile nella cartella C:\WINNT\system32\shdocvw.dll.