Added Microsoft.Data.SqlClient support + ReportViewer 15#273
Added Microsoft.Data.SqlClient support + ReportViewer 15#273
Conversation
1. Use Microsoft.Data.SqlClient 2. Added checkbox to trust server certificate 3. Updated credentials manager to trust server certificate 4. Added About label to show ReportViewerVersion 5. added option to use encrypt connections for SqlClient
…nd can be rolled back if it has any impact
|
@moraja I have several admin things that I'd like to ask you about.
Thank you |
|
I like that you have added the encryption logic on the Connect screen - great improvement! Could we either have both unchecked or both checked (preferrable) in which case connecting will work off the bat. |
|
Tested functionality and examined DLLs loaded in the process - things work well. |
The default behavior I used was to enable Trust Certificate by default, but then I remembered that SqlNexus is a public tool and trusting the certificate is a security risk that only the end user should be responsible for. if a corporate certificate was truly compromised, we don't want to automatically accept that. that is my logic for making it non-default |
I'm hoping that one day we will upgrade RML utilities to an easy to compile environment and directly ship needed modules with Nexus without having to install anything separately... but one can only live on hope :) Thanks for the great feedback :) |
Yes, I think it's up to the user's admins of environment to ensure proper back-end security for SQL Server - thus trusting a certificate is up to the end user. Howver, having Encrypt Connection by default without trust server certificate will fail in most cases by default if no SSL. To have to uncheck the box every time would be annoying for me as a user and with these current defaults (and largest user base is SQL engineers), I'll have to do this every time I use SQL Nexus. SqlNexus/sqlnexus/fmConnect.cs Line 120 in a9b8fb6 SqlNexus/sqlnexus/fmLoginEx.cs Line 56 in a9b8fb6 SqlNexus/sqlnexus/Utilities.cs Line 32 in a9b8fb6 |
We can get it done sooner rather than later, but a lot of things before that need to take place |
Updated the Properties to save TrustCertificate and EncryptConnection settings.
I did work on the wrong branch by mistake, Now I cherry picked everything into the right branch if this makes a difference... I can cancel this PR and create a new one. Nuget packages should not need anything extra, they download with the project, so no special instructions there. for testing the only area that may have needed special instructions is the login screen, otherwise the changes do not introduce anything, testing should be simply running full load and everything succeeds without hiccups. I will try to add the commits to the tasks now |
done :) |
Thanks. Let's keep it in this PR for now given the work you've done already. Perhaps we can do a screen share and debug This is an example of the commands I used for RVC Nuget package NuGet\Install-Package Microsoft.ReportingServices.ReportViewerControl.Winforms -Version 150.1586.0 |
|
@moraja one more question - do all projects need the Azure.Identity and Azure.Core Nuget packages installed? I think perhaps the Rowset Editor and SQL Nexus only? Or are these getting installed by Microsoft.Data.SqlClient? |
You are a machine! :) Thank you |
….Preview" version="130.1700.305" This WebForm control is not needed by SQL Nexus and was causing build failures
I tried to remove core-identity references, while I can do it form the project references and it won't impact anything, I still couldn't uninstall the nuget package because SqlClient still depends on it. I think we should keep it along with the references and add a task to include AAD login and AzureDB connectivity sometime in the future to SqlNexus as we modernize the product. |
|
@hacitandogan, @asavioliMSFT do you guys want to test this before we merge? |





Fixes #140 and #273
Moved sql calls to user Microsoft.Data.SqlClient
Added Encryption and Trust Certificate options to login screen
Removed deprecated calls
Added ReportViewer support from Nuget packages.