SSDT 2017 Custom Project Item Templates - reporting-services

I have Microsoft SQL Server Data Tools for Visual Studio 2017, version 15.5.4.
I have created a report .rdl file that I want to use as our report template.
I copied this .rdl file to:
C:\Program Files (x86)\Microsoft Visual Studio\2017\SQL\Common7\IDE\CommonExtensions\Microsoft\SSRS\ProjectItems\ReportProject
After restarting SSDT/Visual Studio, I couldn't see any change.
Just in case, I also copied an existing .ico icon file and named it the same as the report. Also I added a new line to the ReportProjectItems.vsdir file.
Still, I cannot see my report template after restarting SSDT/Visual Studio when I try to create a new SSRS project. I must be missing something, but I've gone over all of the other similar questions here, and still no luck. Has anyone figured this out?
screenshot of folder and files

From what I can see, you are saving the template.rdl file in the correct location. In order to use the new template, you would need to create a new report by right clicking on the "Reports" folder for that poject and selecting Add > New Item.
Reports > Add > New Item
From there you can choose the template .rdl you uploaded earlier.

Just to wade in on this one, I've been researching exactly the same thing today. The Microsoft docs (As per usual) are utter rubbish. They do not give the correct file path and the one that worked for me very similar to the one that PatrickMcd listed in his screenshot (I'm using VS2017 Professional btw):
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\SSRS\ProjectItems\ReportProject
When I placed my template RDL in this folder, I did have to restart VS2017 but then it worked a treat and appeared as an option when adding a new report.
To reiterate, the rdl needs to go in:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\SSRS\ProjectItems\ReportProject
I can't say here what I think the MS docs are but it rhymes with white.

Related

I am attempting to publish a windows forms application using visual studio win files in the solution

I am attempting to publish an application from visual studio that has files in the solution. After instilling the program and executing it I get this error.
Could not find file
'C\Users[User Name]\AppData\Local\Apps\2.0\7D4MADG.G94\9BLZYH2N.QOP\wdts..tion_0000000000000_0003.0000_8e564612a360b47a\wdAttrColSettings.xml
I need to know what I need to do to have the files in the Solution Items folder put in the wdts..tion_0000000000000_0003.0000_8e564612a360b47a folder when the application is installed.
In my brief experimentation in Visual Studio 2019, it doesn't look like you can copy Solution Items to the output directory.
This is, presumably, because there's no actual project (i.e. MSBuild or whatever) that would define those actions.
If you put those files inside one of the projects, you can use the "Copy to Output Directory" property.

SSRS shared datasets missing

Source files for shared datasets are lost/missing. Any way to generate these from the SSRS report definition that is referencing them?
Thanks!
You can just download them from the server again.
Go to you SSRS home page (Report Manager, or Web Portal as its known in later versions of SSRS).
You might need to show hidden items, then open the datasets folder and you will see your shared datasets.
Click the one you need and there are options to either download the *.rsd file or open it directly in Report Builder, either way you will have *.rsd file which you can either add back into your Visual Studio project or open in a text editor and get the command text.

TFS 2013: Uploading new report

We have a fully working TFS 2013 and have access to the default reports of the process template that we are using. Now we created a new report and try to make it appear in the team explorer of VS2013. Searching the internet indicated that the only possible option would be to download the process template, change the reporting part (e.g. adding the new report as default report) and then upload the "default" reports then via command line tool (tfpt addprojectreports ...)
Since changing (including adding) areas, iterations and other stuff can be done in the "live" system (without editing the process TEMPLATE), it is hard for me to believe that there is no way to add reports without changing the process template.
Does anyone know how to upload a new report? Of course, in the end we would like to see the report in the team explorer...
try http://yourReportingServer/Reports/Pages/Folder.aspx
then navigate via collection, project to the folder you want the report to show up in, then "upload file".
You can directly upload the .rdl file to SSRS of your TFS instance.

Renamed SSIS Package and Now Don't Have Access to my Solutions

I made a goof and renamed my SSIS package without fully understanding what I was doing. Now I get "one or more solutions couldn't be added..." I then go to my solution explorer and no solutions are there. Please note that I've been working on this project for 6 months. I checked the project obj folder and all my solutions are there. I'm pretty sure I have to rename something else. Will somebody please help me. I am an intern and am FREAKING OUT.
Let's examine what's happening. I am using SSIS 2012 in this example but the steps will be the same for 2005 to 2014. This assumes you have turned off "hide file extensions".
Visual Studio is an Integrated Development Environment, IDE, for developing software. The outermost concept is a Solution. See 1 below. Solutions solve a problem as a whole. A solution might need multiple tools to solve a problem. A tool in this case, is a Project (#2). Depending on the type of project, different folders and such will appear in section 3. This is an example of an SSIS project.
If you don't see your solution, there's a question for that Solution Folder Not Showing in Visual Studio 2010 - How Can I Make It Visible?
If I Rename the project JeffOrris to JeffOrris2 and close Visual Studio, it will prompt me to save changes to JeffOrris.sln (and optionally, the project). If I click No, when I reopen the solution, I am greeted with the following error message along with Visual Studio indicating that my project JeffOrris is unavailable. :'(
---------------------------
Microsoft Visual Studio
---------------------------
One or more projects in the solution were not loaded correctly.
Please see the Output Window for details.
---------------------------
OK
---------------------------
To start fixing things, you have to get Visual Studio to play ball. You can do this one of two routes. The first is to Add the renamed project back into the solution. Add... Existing Project... and then find your .dtproj file (or .whatever it was with 2005/2008) Assuming that loads fine, you can right click on the one that isn't loading and select Remove. Then click "Save All" or Ctrl-Shift-S
Option 2, which is what I do is to go mucking about with files. Find where your .SLN is. If your project is still open, it will indicate it under properties but once it's bolloxed then you'd need to right click and choose Open Folder in File Explorer.
However you get here, look at what you have.
A solution is represented on disk by a .sln file. That's a text file, might be UTF-8 but it's human readable text. The .suo file is binary that keeps track of what you have open and such. It doesn't matter, the .sln does.
Take a peek inside your solution file. Knowledge is only good for you
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{159641D6-6404-4A2A-AE62-294DE0FE8301}") = "JeffOrris", "JeffOrris\JeffOrris.dtproj", "{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Development|Default = Development|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.ActiveCfg = Development
{631559E9-5ED5-4F63-B74E-BFB6CBAE89C5}.Development|Default.Build.0 = Development
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Of importance is the line starting with Project. That says I, the Solution, have a Project called JeffOrris and the project file can be found, relative to my location, at Folder called JeffOrris and inside there a file named JeffOrris.dtproj
The "trick" then is to make your subject and verbs agree. Or in this case, make your Solution and your .dtproj file agree. That'd be #6 below. After saving the solution file, Visual Studio should prompt you to reload it and whoosh, your project is back.
If you have inadvertently renamed the .dtproj file, then you can rename it back. Again, save all

Using external assembly's method's results as a dataset

Using SQL2008R2:
I am trying to create a dataset that is simply the result of an external assembly's return method(s), but everything I can find regarding using custom/external assemblies just has a textbox's value set to the external assembly's method's result via an expression.
I simply want Report Server to do the data processing in the external assembly and bind that result to a very simple report.
I found some references to something about MDX but they seem to be a few years outdated and needed to know if this is possible.
Assuming you already have a .dll - Place your dll in the report designer folder (where your RDL is) and the report server folder, somewhere around here:
Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
Now add a reference to your dll from your report.
With your report open go to Report, Report Properties, References, Add reference, browse to your dll and add it.
Now in a text box properties Value call a method of your dll. It should look something like this:
=MyDllName.ClassName.MyMethodOrSubOrWhatever
This is a great article that can walk you through this:
Assuming you already have a .dll - Place your dll in the report designer folder (where your RDL is) and the report server folder, somewhere around here:
Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
Now add a reference to your dll from your report.
With your report open go to Report, Report Properties, References, Add reference, browse to your dll and add it.
Now in a text box properties Value call a method of your dll. It should look something like this:
=MyDllName.ClassName.MyMethodOrSubOrWhatever
This is a great article that can walk you through this: http://support.microsoft.com/kb/920769
P.S. Another option, if you don't want the web server doing the heavy lifting, is to use stored procedures. However, in our experience with very large database systems, it is much easier to scale up the web servers than it is to scale up the database servers so we do much of the heavy lifting on the web servers.
If you need a data set that is generated by custom .NET code, you can either set up a web service (here's a good tutorial), or you can set up a custom "data processing extension".
A data processing extension will allow you to choose a new data source in the SSRS report designer, and this data source will run custom .NET code. The full description is on MSDN, but here are the basic steps:
Create a new class library project
Implement all of the required extensions (and any desired optional ones)
Copy the DLL to the SSRS bin folder
Edit the SSRS config file to register your extension (by specifying the fully qualified name of your IDbConnection class)
You can find working examples from both CodePlex and Microsoft.