Hi,
I get the following error when opening RDM after importing my data source, the same data source works on windows machines fine however the Linux version gives me this error. Are you able to advice where the issue may be? (i've removed my server address for security)
System.Data.SqlClient.SqlException (0x80131904): Cannot open server "Company.com.au" requested by the login. The login failed. Cannot open server "Company.com.au" requested by the login. The login failed. at System.Data.SqlClient.SqlInternalConnectionTds..ctor (System.Data.ProviderBase.DbConnectionPoolIdentity identity, System.Data.SqlClient.SqlConnectionString connectionOptions, System.Data.SqlClient.SqlCredential credential, System.Object providerInfo, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance, System.Data.SqlClient.SqlConnectionString userConnectionOptions, System.Data.SqlClient.SessionData reconnectSessionData, System.Boolean applyTransientFaultHandling, System.String accessToken) [0x0018b] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnectionFactory.CreateConnection (System.Data.Common.DbConnectionOptions options, System.Data.Common.DbConnectionPoolKey poolKey, System.Object poolGroupProviderInfo, System.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningConnection, System.Data.Common.DbConnectionOptions userOptions) [0x00159] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (System.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions options, System.Data.Common.DbConnectionPoolKey poolKey, System.Data.Common.DbConnectionOptions userOptions) [0x0000c] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.CreateObject (System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection) [0x00184] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection) [0x00040] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection (System.Data.Common.DbConnection owningObject, System.UInt32 waitForMultipleObjectsTimeout, System.Boolean allowCreate, System.Boolean onlyOneCheckConnection, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal& connection) [0x000a4] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection (System.Data.Common.DbConnection owningObject, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal& connection) [0x00026] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection (System.Data.Common.DbConnection owningConnection, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection, System.Data.ProviderBase.DbConnectionInternal& connection) [0x0021d] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (System.Data.Common.DbConnection outerConnection, System.Data.ProviderBase.DbConnectionFactory connectionFactory, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions) [0x00036] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection (System.Data.Common.DbConnection outerConnection, System.Data.ProviderBase.DbConnectionFactory connectionFactory, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions) [0x00000] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnection.TryOpen (System.Threading.Tasks.TaskCompletionSource`1[TResult] retry) [0x0005d] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnection.Open () [0x0003b] in <0864334e7e474248b37afca9b637daa9>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.String connectionString, System.Boolean openConnection) [0x00132] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.String connectionString) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection (System.Boolean master, System.Nullable`1[T] connectTimeout) [0x00025] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.Boolean master, System.Nullable`1[T] connectTimeout) [0x00020] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection (System.Nullable`1[T] connectTimeout) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSet (System.String sql, System.Data.IDbDataParameter[] parameters, System.Int32 commandTimeout) [0x0000e] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters, System.Int32 commandTimeout) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters, System.Data.IDbTransaction dbTransaction) [0x00003] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSourceSettings (System.Data.IDbTransaction dbTransaction) [0x0002f] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSourceSettings () [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadDataSourceSettingsFromDataSource (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine) [0x00018] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.ValidatePolicies (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine, System.Boolean hasChanged) [0x00078] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine, System.Boolean hasChanged) [0x00035] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections (Devolutions.RemoteDesktopManager.Business.DataSources.BaseConnectionDataSource dataSource) [0x00262] in <324f097ec04c4b6988a4264e3902e188>:0 ClientConnectionId:ed0133c8-6b10-4564-acb4-696e155953d1 Error Number:40532,State:1,Class:20
Hi Alan,
What authentication method is your data source using to connect to SQL Server?
Jonathan Lafontaine
Hi Jonathan,
Here is how it's configured
rdm.png
Hi,
Thank you for the information.
I'll try to replicate your setup and do some tests.
Jonathan Lafontaine
Is your username an email address by any chance?
The account I was given to test used a email as the username and found the error message a bit strange. For example sake, let pretend my username was person@example.com, the error message said cannot open server 'example.com' but my server actually is azureserver.
Turns out, the sql client will user anything after the @ in a username as the server.
If this is your case, to work around that, you can add your server's real address to your username.
Using the previous example, your username would then be person@example.com@azureserver
Let me know if this helps.
Jonathan Lafontaine
That appears to have done something as the message i get now is as below, however it never prompts me for a password so i assume that's why it fails
System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'email address'. Login failed for user 'email address'. at System.Data.SqlClient.SqlInternalConnectionTds..ctor (System.Data.ProviderBase.DbConnectionPoolIdentity identity, System.Data.SqlClient.SqlConnectionString connectionOptions, System.Data.SqlClient.SqlCredential credential, System.Object providerInfo, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance, System.Data.SqlClient.SqlConnectionString userConnectionOptions, System.Data.SqlClient.SessionData reconnectSessionData, System.Boolean applyTransientFaultHandling, System.String accessToken) [0x0018b] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnectionFactory.CreateConnection (System.Data.Common.DbConnectionOptions options, System.Data.Common.DbConnectionPoolKey poolKey, System.Object poolGroupProviderInfo, System.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningConnection, System.Data.Common.DbConnectionOptions userOptions) [0x00159] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (System.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions options, System.Data.Common.DbConnectionPoolKey poolKey, System.Data.Common.DbConnectionOptions userOptions) [0x0000c] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.CreateObject (System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection) [0x00184] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (System.Data.Common.DbConnection owningObject, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection) [0x00040] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection (System.Data.Common.DbConnection owningObject, System.UInt32 waitForMultipleObjectsTimeout, System.Boolean allowCreate, System.Boolean onlyOneCheckConnection, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal& connection) [0x000a4] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionPool.TryGetConnection (System.Data.Common.DbConnection owningObject, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal& connection) [0x00026] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection (System.Data.Common.DbConnection owningConnection, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions, System.Data.ProviderBase.DbConnectionInternal oldConnection, System.Data.ProviderBase.DbConnectionInternal& connection) [0x0021d] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (System.Data.Common.DbConnection outerConnection, System.Data.ProviderBase.DbConnectionFactory connectionFactory, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions) [0x00036] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection (System.Data.Common.DbConnection outerConnection, System.Data.ProviderBase.DbConnectionFactory connectionFactory, System.Threading.Tasks.TaskCompletionSource`1[TResult] retry, System.Data.Common.DbConnectionOptions userOptions) [0x00000] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnection.TryOpen (System.Threading.Tasks.TaskCompletionSource`1[TResult] retry) [0x0005d] in <0864334e7e474248b37afca9b637daa9>:0 at System.Data.SqlClient.SqlConnection.Open () [0x0003b] in <0864334e7e474248b37afca9b637daa9>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.String connectionString, System.Boolean openConnection) [0x00132] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.String connectionString) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection (System.Boolean master, System.Nullable`1[T] connectTimeout) [0x00025] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.SQLServerConnectionDataSource.CreateDbConnection (System.Boolean master, System.Nullable`1[T] connectTimeout) [0x00020] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.CreateDbConnection (System.Nullable`1[T] connectTimeout) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSet (System.String sql, System.Data.IDbDataParameter[] parameters, System.Int32 commandTimeout) [0x0000e] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters, System.Int32 commandTimeout) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters) [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetData (System.String sql, System.Data.IDbDataParameter[] parameters, System.Data.IDbTransaction dbTransaction) [0x00003] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSourceSettings (System.Data.IDbTransaction dbTransaction) [0x0002f] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Business.DataSources.DatabaseConnectionDataSource.GetDataSourceSettings () [0x00000] in <60f4e5190976445eb9cb5fc18a116370>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadDataSourceSettingsFromDataSource (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine) [0x00018] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.ValidatePolicies (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine, System.Boolean hasChanged) [0x00078] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnectionsFromDataSource (Devolutions.RemoteDesktopManager.Managers.ConnectionEngine engine, System.Boolean hasChanged) [0x00035] in <324f097ec04c4b6988a4264e3902e188>:0 at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.LoadConnections (Devolutions.RemoteDesktopManager.Business.DataSources.BaseConnectionDataSource dataSource) [0x00262] in <324f097ec04c4b6988a4264e3902e188>:0 ClientConnectionId:4ff493be-1750-4402-bc51-7a9a247b7906 Error Number:18456,State:1,Class:14
Hi,
After some investigation and testing, I'm afraid this connection method cannot be supported on RDM Linux for now.
Mono doesn't provide the necessary provider implementation needed to achieve it.
We plan on switching to dotnet core eventually and I will have to revisit this once this is done.
Regards
Jonathan Lafontaine
Hello
I was wondering if you have any indication when the switch will happen?
For now we are using local accounts for our non-Windows user, but this causes some extra work in user maintenance and off- and on-boarding of new users.
It's a relative high priority for us due to company policies and external regulations.
With kind regards,
Nick
Hi,
I don't have a time frame for the switch. Completely switching to .net6 also affects RDM Windows, Mac and Mobile..
There is much to be done to make sure all our code is compatible before we can move forward to .net6.
That being said, as this is high priority for you, I'll see if there's any creative workaround I can come up with.
Regards
Jonathan Lafontaine
Thank you!
Hi,
Good news, I've worked on switching RDML to .net6 and successfully did so.
That means we can now support a sql client capable of connecting to AzureSQL using O365 and I'm able to do so on our internal build.
We plan on releasing in a near future and our next build should be introducing .net6.
Regards
Jonathan Lafontaine