SSRS in Visual Studio 2022 (and 2019)

Thanks to Daniel Calbimonte who posted this article hereSSRS in Visual Studio – SQLServerCentral

Where are the SSRS Projects in Visual Studio?

Where is SSRS in Visual Studio 2022? Traditionally, you need to install the SSDT and check SSRS to have it installed. However, things have changed in SSRS over the years. This article explains how to install SSRS in VS 2022.

2017 and 2019 Extensions: Microsoft RDLC Report Designer and Microsoft Reporting Services Projects

 SSRS History

A long, long time ago, the SQL Server installer included an option to install the BIDS (Business Intelligence Development Studio) including Reporting Services. In SQL Server 2012, the BIDS were named SSDT. The SSDT used the version of Visual Studio. It was a VS extension to handle projects like SQL Server Projects, SSIS, SSAS, and SSRS projects.

In SQL 2014 you had to install SSDT from the website and it was no longer in the SQL Server installer. There were SSDT versions for VS 2012, 2013, 2015, and 2017. And then in VS 2019 the SSDT did not include an installer for SSRS. So that is why we have this article. To help you to install the extension for Visual Studio 2022.

The SSRS extension for VS 2022 is available here: https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftReportProjectsforVisualStudio2022&ssr=false#review-details

Getting started with SSRS in Visual Studio

First, I am assuming that you already have Visual Studio 2022. Secondly, in Windows Search, look for the Visual Studio Installer and open it.

Thirdly, look for the Data Storage and processing workload and check SQL Server Data Tools.

Once installed you will notice that you don’t have Reporting Service, Analysis Service, and Integration Services projects.

Why is it getting more difficult to install?

The humble opinion of this writer is that Microsoft wants us to move to Azure technologies like Synapse, Power BI, Azure Data Factory. However, in general, we can say that Microsoft tries to handle VS extension as separated projects in a generic way. I mean, all the extensions should be installed in a standard way.

Installing SSRS Projects in Visual Studio

In order to create your SSRS projects, you will need to go to extensions in the VS menu. Secondly, go to Extensions>Manage Extensions

Thirdly, in the search textbox, search for Reporting. You will see Microsoft Reporting Services Projects. Check the reporting services to install it.

Testing the installation

Firstly, in Visual Studio, go to File>New>Project

Secondly, if you are using it for the first time and you have several types of projects installed, search for reports and you will see 2 options.

  • The Report Server Project Wizard is the easiest way for newbies to create a report from scratch without too much knowledge in SSRS.
  • Report Server Project is used if you have some experience creating reports to create your own report. You could invoke the Wizard here if you need to.

Finally, specify a Report name and a location.

Conclusion

SQL Server Reporting Services is in SQL Server, but the Projects in Visual Studio are extensions. In order to install the extension, you need to install the SSDT first with the Visual Studio Installer, and then in the Visual Studio go to Extensions to install the SSRS extension.

The Analysis Services projects and Integration Services projects have a similar approach. You need to install them separately.

Resolve Windows Update Error “Code 80072EFE” on a Windows Server 2008 R2 SP1 (x64) built from the DVD ISO with release date February 23, 2011

I had to recently set up a Windows 2008 R2 VM on Hyper-V so I could test switching domains and came across this error.

Wim Matthyssen wrote this great blog to help resolve the issue. I would not have figured this out otherwise!

Resolve Windows Update Error “Code 80072EFE” on a Windows Server 2008 R2 SP1 (x64) built from the DVD ISO with release date February 23, 2011 – Wim Matthyssen (wmatthyssen.com)

 

Resolve Windows Updates error with “Code 800272EFE

 To resolve this error, follow a few simple steps.

If you’re using an even older version of the ISO, start by installing Windows Server 2008 R2 Service Pack 1 for x64-based Systems (KB976932). You can download it using this link: https://catalog.s.download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe

 Once installed, or if you utilized the W2K8 R2 DVD ISO released on February 23, 2011, you can move on to the next step.

Then, to restore Windows Update functionality, you’ll need to install several updates. Below, you’ll find a list of these updates along with their download links from the Microsoft Update Catalog:

Download all these updates and save them in a shared folder accessible from the W2K8 R2 server, or store them locally on the server itself.

Then, install these updates in the following order: first, KB4474419; then KB4490628After installing the second update, reboot the server.

 Once the server is restarted, install the update, KB4570673, and finally, KB4534310. After the installation of the last one, reboot the server once more.

Once the server has rebooted for the second time and all the updates are installed, Windows Update should function normally again. When you begin updating, be prepared for quite a lengthy list of updates that need to be installed, and these updates will also require a few reboots.

Conclusion

To resolve the Windows Update Error “Code 80072EFE” on a Windows Server 2008 R2 SP1 (x64) server built from the DVD ISO released on February 23, 2011, it’s necessary to install several updates in a specific order.

I hope that the update steps outlined in this blog post will prove helpful in fixing this error for you.

If you have any questions or suggestions regarding this blog post, please feel free to reach out to me via my X handle (@wmatthyssen) or leave a comment. I’m more than happy to assist.

The Specified Domain Either Does Not Exist or Could Not Be Contacted

When you try to connect to join a domain on any Windows operating system or after entering a username and correct password, you may receive an error with the message “the specified domain either does not exist or could not be contacted”.

This “the specified domain does not exist or could not be contacted” error is usually due to invalid DNS settings on the workstation, as Active Directory requires domain DNS (not the router’s address) to function properly. The error can also occur because IPv6 does not work.

Go to Control Panel. Network and Sharing Center - Chang adapter settings - Properties and uncheck IPv6. Note that in Windows 11 this is the ONLY way to disable IPv6!

You're Very Welcome :-)

Dynamically hide a column in MS Access

This is how to dynamically hide a column in MS Access.

Private Sub txtBudgetAmountLocked_Click()
    If Not IsUserReadOnly Or Not IsProjectClosed(g_lngProjectID) Then
        If Me.Parent.chkBudgetLocked = 0 Then
            Me.txtBudgetAmount.ColumnHidden = False
            Me.txtBudgetAmount.SetFocus
            Me.txtBudgetAmountLocked.ColumnHidden = True
            
            If DLookup("HasHeaders", "qryProjectReport", "ID=" & Me.Parent.txtID) = "Yes" Then
                Me.Parent.cmdShowTotals.Visible = True
            End If
        End If
    End If
End Sub

 

MMC has detected an error in a snap-in. It is recommended that you shut down and restart MMC

We found that doing the following worked, and can now edit the settings in the II6 Manager without errors (and without crashing when applying settings) every time:

  1. Stop SMTPSVC service [Display Name: Simple Mail Transfer Protocol (SMTP)]
  2. Stop IISADMIN service [Display name: IIS Admin Service]
  3. Edit "C:\Windows\System32\inetsrv\MetaBase.xml"
  4. Find: <IIsSmtpServer Location ="/LM/SmtpSvc/1"
  5. Add (Settings are alphabetical): RelayIpList=""
  6. Save file
  7. Start IISAdmin Service
  8. Start SMTPSVC service

You can now open the Internet Information Services (IIS) 6.0 Manager (InetMgr6.exe) and work like normal. The setting above relates to the Access Tab > Relay Restrictions section, but doesn't set anything in it (i.e. "all except the below list" with a blank list).

After setting this value you can change it to what you need it to be. (i.e. the value doesn't need to be 'null' for the fix to work, just so long as the variable is present in the file).

The above has been tested on a few new installs of Windows Server 2022, and has worked for us every time. If you have done an upgrade there are some other things to consider (seems like the SMTP service is not installed after upgrade so will require a backup of the settings that can be applied post reinstalling the service. But that is discussed in other topics).

PS: Remember to set the SMTPSVC service to start "automatically". By default its set to "manual".

Also Here: How do I resolve the "Snapin Error" when setting up SMTP on IIS Server? - Server Fault

The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service

Solving: The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.

To solve this error, you have first to configure the SharePoint State Service using PowerShell as the following:

  1. Open SharePoint (SSSE) PowerShell as Administrator.
  2. Run the below cmdlet to create a new SharePoint State Service.

     $serviceApp = New-SPStateServiceApplication -Name "State Service Application"
    
  3. Again, run the below cmdlet to create the SharePoint State Service Database.

     New-SPStateServiceDatabase -Name "SharePoint_Service_StateDB" -ServiceApplication $serviceApp
    
  4. Finally, run the below cmdlet to create a new SharePoint State Service Proxy and attach it with the newly created SharePoint State Service.

     New-SPStateServiceApplicationProxy -Name "State Service Application Proxy" -ServiceApplication $serviceApp -DefaultProxyGroup
    
  5. Open SharePoint Central Administration > Application Management > Manage Service Application, Make sure that the SharePoint State Service is listed with its proxy and started properly.

Also here: The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service - deBUG.to

SharePoint Search cannot be configured

If you cannot create a SharePoint Search Application in Central Admin.

Clear the cache as explained here!

  1. Open the Services.msc panel, and then look for the SharePoint Timer Service.
  2. Stop this service.
  3. Open Windows Explorer, and then navigate to the cache folder at: C:\ProgramData\Microsoft\SharePoint\Config.
  4. Look for the most recent cache folder, and then open it.
  5. Delete all files in this folder EXCEPT cache.ini.
  6. Open the cache.ini file in a text editor, and then randomly modify the number, but keep it at the same number of digits.
  7. Save the cache.ini file.
  8. Start the SharePoint Timer Service.
  9. Open a command prompt as Administrator.
  10. Run the following command: Psconfig.exe -cmd upgrade -inplace b2b -wait -force
  11. Check the Upgrade Status. 

SharePoint will not Crawl

I recently got this error when trying to run the SharePoint Subscription Edition Search.

The solution for me was items 1 and 2 in this blog post https://social.technet.microsoft.com/wiki/contents/articles/25863.access-is-denied-verify-that-either-the-default-content-access-account-has-access-to-this-repository-or-add-a-crawl-rule-to-crawl-this-repository.aspx

This is the post, just in case it ever disappears.

Introduction

Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository.

Issue

Once we configure Search and started all the Related services, when we start the Crawl and crawl failed and shows one of the errors below. This contains all the issues and solutions related to “search crawling” in one plate that everyone can easily able to get the solution quick. All the issues and resolutions are below.

Errors

1. Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has “Full Read” permissions on the SharePoint Web Application being crawled. (HttpStatusCode Unauthorized The request failed with HTTP Status 401: Unauthorized.)
2. “An unrecognized HTTP response was received when attempting to crawl this item. Verify whether the item can be accessed using your browser.”
3. “The secure sockets layer (SSL) certificate sent by the server was invalid and this item will not be crawled.”
4. The URL of the item could not be resolved. The repository might be unavailable, or the crawler proxy settings are not configured.
5. The SharePoint item being crawled returned an error when requesting data from the web service.

Solutions

There could be many reasons that search is not working properly even when we configured everything good. This article is providing all the relevant and related solutions to check. Every solution that you need to take into consideration and apply to resolve the issues. One of the mentioned solutions that definitely work and resolve the issue.

Solution 1

Disable Loopback Check: It is actually a security feature that prevents access to a web application with a fully qualified domain name to from the host server. Follow these steps to disable this feature

· Click Start, click Run, type regedit, and then click OK.
· In Registry Editor, locate and then click the following registry key:
· HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
· Right-click Lsa, point to New, and then click DWORD(32-bit) Value.
· Type DisableLoopbackCheck, and then press ENTER.
· Right-click DisableLoopbackCheck, and then click Modify.
· In the Value data box, type 1, and then click OK.
· Quit Registry Editor, and then restart your computer.

Solution 2

Specify host names: To specify the host names that are mapped to the loopback address and can connect to Web sites. This method would be preferred for NTLM authentications.

· Click Start, click Run, type regedit, and then click OK.
· In Registry Editor, locate and then click the following registry key:
· HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
· Right-click MSV1_0, point to New, and then click Multi-String Value.
· Type BackConnectionHostNames, and then press ENTER.
· Right-click BackConnectionHostNames, and then click Modify.
· In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.
· Quit Registry Editor, and then restart the IISAdmin Service

Solution 3

Check the Permissions correctly: This item should need to check in many areas. Be patient and check one-by-one to ensure that all set correctly

Check 1

When you’re crawling the search. Make sure that the default content access account (crawl account) has access to the User Profile Service
· Open the Central Administration and go to Application Management
· Click Manage service application in the Service Application section
· Select the User Profile Service Application and click on Administrators
· Add your content access account and give it the Retrieve People Data for Search Crawlers permission

Check 2

When you’re crawling the search. Make sure that the default content access account (crawl account) has access to the Search service.

· Open the Central Administration and go to Application Management
· Click Manage service application in the Service Application section
· Select the Search Service Application and click on Administrators
· Add your content access account and give it the Full control permission

Check 3

When you’re crawling the search. Make sure that the default content access account (crawl account) has access to the web applications that are crawling.
· Open the Central Administration and go to Application Management
· Click on web applications
· Select the web application -> check the user policy on Ribbon
· Add your content access account and give it the Full control permission

Solution 4

Host Headers: If you’re using a multi-server farm, having the below servers in farm.
· Server A - Application server
· Server B – WFE
· Server C- Crawl server

We need to create the Host headers in All the WFE, Crawl servers to crawl the Content. Go to below path and create the headers. Refer below article:
http://expertsharepoint.blogspot.de/2013/10/path-for-host-file.html

In the Headers,
· For WFE servers- Need to put the Server IP of the local server
· For Crawl Server- Need to put the Server IP of the WFE server

If you have multiple WFE,Crawl servers. You need to choose one of WFE server IP and put the same IP in all WFE, crawl servers also.
Note: We can apply these solutions one after one and test the status of crawl.
See more at: http://expertsharepoint.blogspot.de/2014/05/access-is-denied-verify-that-either.html

Note: Resolved the issue by above method. If you find a different solution, please report it as a comment to this post. This will be useful to SharePoint community. Be sure to double-verify it: undo your solution and verify that the problem comes back, then redo it and verify that the problem goes away.

Is MS Access Compiled

Public Function IsACCDE() As Boolean
    ' This property exists only in compiled DBs (.mde, .accde)!
    On Error Resume Next
    IsACCDE = (CurrentDb.Properties("MDE") = "T")
End Function

This code returns True if MS Access has been saved as ACCDE and False it it has not. This is different than the built in IsCompilled() function that return True or False based on the actual code being compiled or not.