{"id":751,"date":"2008-10-22T01:31:36","date_gmt":"2008-10-22T06:31:36","guid":{"rendered":"http:\/\/blogs.devhorizon.com\/reza\/?p=751"},"modified":"2008-10-22T18:44:03","modified_gmt":"2008-10-22T23:44:03","slug":"powershelldeploying-ssrs-reports-in-integrated-mode","status":"publish","type":"post","link":"https:\/\/blogs.devhorizon.com\/reza\/2008\/10\/22\/powershelldeploying-ssrs-reports-in-integrated-mode\/","title":{"rendered":"PowerShell:Deploying SSRS Reports in Integrated Mode"},"content":{"rendered":"<p>As I promised last week in <a href=\"https:\/\/blogs.devhorizon.com\/reza\/?p=745\">this <\/a>blog post, the first chance I get , I would craft up another POC using PowerShell that takes care of deploying SSRS reports and data sources in bulk to SharePoint.Here you go:<\/p>\n<p><a href=\"https:\/\/blogs.devhorizon.com\/reza\/wp-content\/uploads\/2008\/10\/donload.png\" title=\"donload.png\"><img decoding=\"async\" src=\"https:\/\/blogs.devhorizon.com\/reza\/wp-content\/uploads\/2008\/10\/donload.png\" alt=\"donload.png\" \/><\/a>You can download the script <a href=\"https:\/\/blogs.devhorizon.com\/reza\/wp-content\/uploads\/2008\/10\/deployssrsinteg.rar\">here <\/a>and below are the steps to get this script to work:<\/p>\n<p>1) Create a folder and throw the script there.<\/p>\n<p>2) All right! now you need to compile the SSRS Porxy endpoint for SharePoint integrated mode (<a href=\"http:\/\/farm4.static.flickr.com\/3044\/2950616174_36f1a0b769_o.png\"><strong>ReportService2006.asmx<\/strong><\/a>) and build the\u00a0 ReportService2006.dll. There are couple ways to do this (like <a href=\"http:\/\/sharepoint.microsoft.com\/blogs\/zach\/Lists\/Posts\/Post.aspx?ID=9\">this<\/a>), but most likely the easiest way is by using Visual Studio command prompt.This is where wsdl.exe comes handy.Just as FYI, Wsdl.exe parses ReportService2006.asmx schema and its WSDL file and generates a .NET class (ReportService2006.cs). Since the schema of ReportService2006.asmx won&#8217;t change until the next version (I hope so!), you don&#8217;t need to repeat this step anymore. Open Visual Studio command prompt and type:<\/p>\n<p><strong>wsdl http:\/\/myserver\/_vti_bin\/ReportServer\/ReportService2006.asmx\u00a0<\/strong><\/p>\n<p>Now, invoke and point the C# compiler (csc.exe) to the generated class and create the DLL (in your active directory):<\/p>\n<p><strong>\u00a0csc \/t:library ReportService2006.cs<\/strong><\/p>\n<p>In the source code, this dll is used to communicate with the endpoint.<\/p>\n<ul>\n<li>If you don&#8217;t know what the hell I am talking about , I kindly ask you to read <a href=\"https:\/\/blogs.devhorizon.com\/reza\/?p=718\">this <\/a>post to know what I mean by SSRS proxy endpoint.Thanx!<\/li>\n<li>If you are lazy , you can download the dll right from <a href=\"https:\/\/blogs.devhorizon.com\/reza\/wp-content\/uploads\/2008\/10\/reportingservice2006.rar\">here<\/a>. I&#8217;ve already generated the dll.<\/li>\n<\/ul>\n<p>3) Dump\u00a0 the ReportService2006.dll in the same folder as the script.<\/p>\n<p>4) Throw all of your reports and data source in the same folder.<\/p>\n<blockquote><p>Actually, this Powershell script (unlike the <a href=\"https:\/\/blogs.devhorizon.com\/reza\/?p=745\">feature <\/a>approach) is not bound to one shared data source.\u00a0 I read the data souce from the rdl file, so as long as the data source is physically present in the same folder,script works just fine. Obviously , this is just another POC ;therefore it comes with no exception handling!<\/p><\/blockquote>\n<p>5) Open the PowerShell command line , browse to your folder\u00a0 and type in the following command:<\/p>\n<p>DeploySSRSInteg.ps1 -targetRptLib &#8220;http:\/\/myserver\/myrptlib&#8221; -targetDCL &#8220;http:\/\/myserver\/myDCL&#8221; -sourceFolder &#8220;C:\\SSRSDeployment &#8221; -rsProxyEndpt &#8220;http:\/\/myserver\/_vti_bin\/ReportServer\/ReportService2006.asmx&#8221;<\/p>\n<p align=\"left\"><a href=\"http:\/\/farm4.static.flickr.com\/3163\/2963711060_9327269b09_o.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3163\/2963711060_684bc6dd73.jpg\" width=\"500\" height=\"105\" \/><\/a><\/p>\n<p>6) Once you hit the enter , you should be able to see a traffic light popping into your screen \ud83d\ude42 (just kidding!). Here is the execution screenshot:<\/p>\n<p><a href=\"http:\/\/farm4.static.flickr.com\/3006\/2962867663_c84b7ea90e_o.png\" title=\"AfterExecution by bahrez82, on Flickr\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3006\/2962867663_4fda3d6beb.jpg\" width=\"500\" height=\"126\" \/><\/a><\/p>\n<p>7) And here are all your data sources and reports deployed for you. PoSh rocks baby!<\/p>\n<p>Data sources are converted:<br \/>\n<a href=\"http:\/\/farm4.static.flickr.com\/3169\/2962867741_a29bd4d825_o.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3169\/2962867741_9467ce5608.jpg\" alt=\"DCLProof\" width=\"500\" height=\"169\" \/><\/a><\/p>\n<p>Reports are published &amp; <strong>its data source is nicely referenced<\/strong>:<br \/>\n<a href=\"http:\/\/farm4.static.flickr.com\/3171\/2962867769_6dc0514542_o.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3171\/2962867769_50c55ec7b6.jpg\" alt=\"ReportProof\" width=\"500\" height=\"184\" \/><\/a><\/p>\n<p>&#8216;8) As always, this is just a POC and by no means production ready , so use it at your own risk!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I promised last week in this blog post, the first chance I get , I would craft up another POC using PowerShell that takes care of deploying SSRS reports and data sources in bulk to SharePoint.Here you go: You can download the script here and below are the steps to get this script to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43,47],"tags":[],"class_list":["post-751","post","type-post","status-publish","format-standard","hentry","category-moss-2007","category-ssrs"],"_links":{"self":[{"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/posts\/751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/comments?post=751"}],"version-history":[{"count":0,"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/posts\/751\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/media?parent=751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/categories?post=751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.devhorizon.com\/reza\/wp-json\/wp\/v2\/tags?post=751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}