Download and Upload of RDLs

Mark Cary 21 Reputation points
2022-11-03T21:09:05.097+00:00

Two AWESOME articles have saved me en enormous amount of time and effort:

https://basic-ssrs.blogspot.com/2015/12/download-all-rdl-files-from.html
https://basic-ssrs.blogspot.com/2015/12/upload-multiple-rdl-files-from-local.html

They address the mass download, upload, and shared data source assignment for RDLs.

One thing I have spent hours researching in vain.

Referring to the articles, my first batch file (downloading the RDLs) contains the following execution line:

"C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\rs.exe" -s "http://SQL1\AN/ReportServer$AN" -i C:\SandBox\RDLStuff\DownloadRDLs\Download_all_RDL_files.rss -v rootPath="C:\SandBox\RDLStuff\RDL_Repository\"

The 2nd argument, "http://SQL1\COMPANY_A/ReportServer$COMPANY_A", is the culprit.

We have 30+ "companies" we service. All the companies that have their own SQL servers, have posed no problems as we either built them outright or built thri new ones and migrated their data over ... no problems ... many of the companies have 100+ RDL each ... the articles (above) have been a real time saver.

The problem is the manner in which my predicessor setup our "shared" SQL server. for example, the instances are:

SQL1\COMPANY_A
SQL1\COMPANY_B
SQL1\COMPANY_C

... and their respective ReportServices databases are:

ReportServer$COMPANY_A
ReportServer$COMPANY_B
ReportServer$COMPANY_C

As a "cover all the bases note", the individual companies reports are housed and accessed separately in/at (respectively):

//SQL1/Reports_Company_A
//SQL1/Reports_Company_B
//SQL1/Reports_Company_C

When I execute the batch, I get:

C:\SandBox\RDLStuff\DownloadRDLs>"E:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\rs.exe" -s "http://SQL1\COMPANY_A/ReportServer$COMPANY_A" -i C:\SandBox\RDLStuff\DownloadRDLs\Download_all_RDL_files.rss -v rootPath="C:\SandBox\RDLStuff\RDL_Repository\"
Could not connect to server: http://SQL1\COMPANY_A/ReportServer$COMPANY_A/ReportService2005.asmx

C:\SandBox\RDLStuff\DownloadRDLs>Pause
Press any key to continue . . .

I have tried every combination/makeup of URL with no luck. Again, when I run this with a typical SQL Server and use, for example, "http://TAX-SERVER/ReportServer", all is right with the world and it just works perfectly.

I believe, in some way, it's the "instance" not being able to be derived/diferentiated from the server name (SQL1) but I am out of guesses and completely brain-dead on this one.

$20 to the first person to come up with the accurate answer and share it with me ... is that ethical/allowed? ;-)

SQL Server Reporting Services
SQL Server Reporting Services
A SQL Server technology that supports the creation, management, and delivery of both traditional, paper-oriented reports and interactive, web-based reports.
2,811 questions
0 comments No comments
{count} votes

Accepted answer
  1. AniyaTang-MSFT 12,321 Reputation points Microsoft Vendor
    2022-11-04T07:05:10.713+00:00

    Hi @Mark Cary
    Is "http://SQL1\COMPANY_A/ReportServer$COMPANY_A" the website you want to upload to? "SQL1" is your server name, "\COMPANY_A" means you want to differentiate between report server instances in SQL1? And "ReportServer$COMPANY_A" is the virtual directory you set?

    I did a test, and the website can be opened using this virtual directory. But multi-instance report server URL deployment is generally distinguished from the virtual directory, instead of adding "\instance" after the server name. You can refer to this link: url-reservations-for-multi-instance-report-server-deployments.

    Please let me know more details if I misunderstood what you mean.

    Best regards,
    Aniya

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Mark Cary 21 Reputation points
    2022-11-04T12:28:58.727+00:00

    The one combination I did not try ... http://SQL1:80/ReportServer_Company_A ... from the Web Service URL dialog ... in front of my face! Thank you!

    0 comments No comments