diff --git a/src/Microsoft.SqlTools.ServiceLayer/Connection/ReliableConnection/ReliableSqlConnection.cs b/src/Microsoft.SqlTools.ServiceLayer/Connection/ReliableConnection/ReliableSqlConnection.cs index 5696d2be..8120b2e8 100644 --- a/src/Microsoft.SqlTools.ServiceLayer/Connection/ReliableConnection/ReliableSqlConnection.cs +++ b/src/Microsoft.SqlTools.ServiceLayer/Connection/ReliableConnection/ReliableSqlConnection.cs @@ -512,25 +512,34 @@ SET NUMERIC_ROUNDABORT OFF;"; Tuple[] sessionSettings = new Tuple[2]; IDbConnection connection = originalCommand.Connection; - using (IDbCommand localCommand = connection.CreateCommand()) + if (IsSqlDwConnection(connection)) { - // Executing a reader requires preservation of any pending transaction created by the calling command - localCommand.Transaction = originalCommand.Transaction; - localCommand.CommandText = "SELECT ISNULL(SESSIONPROPERTY ('ANSI_NULLS'), 0), ISNULL(SESSIONPROPERTY ('QUOTED_IDENTIFIER'), 1)"; - using (IDataReader reader = localCommand.ExecuteReader()) + // SESSIONPROPERTY is not supported. Use default values for now + sessionSettings[0] = Tuple.Create("ANSI_NULLS", true); + sessionSettings[1] = Tuple.Create("QUOTED_IDENTIFIER", true); + } + else + { + using (IDbCommand localCommand = connection.CreateCommand()) { - if (reader.Read()) + // Executing a reader requires preservation of any pending transaction created by the calling command + localCommand.Transaction = originalCommand.Transaction; + localCommand.CommandText = "SELECT ISNULL(SESSIONPROPERTY ('ANSI_NULLS'), 0), ISNULL(SESSIONPROPERTY ('QUOTED_IDENTIFIER'), 1)"; + using (IDataReader reader = localCommand.ExecuteReader()) { - sessionSettings[0] = Tuple.Create("ANSI_NULLS", ((int)reader[0] == 1)); - sessionSettings[1] = Tuple.Create("QUOTED_IDENTIFIER", ((int)reader[1] ==1)); - } - else - { - Debug.Assert(false, "Reader cannot be empty"); + if (reader.Read()) + { + sessionSettings[0] = Tuple.Create("ANSI_NULLS", ((int)reader[0] == 1)); + sessionSettings[1] = Tuple.Create("QUOTED_IDENTIFIER", ((int)reader[1] ==1)); + } + else + { + Debug.Assert(false, "Reader cannot be empty"); + } } } - return sessionSettings; } + return sessionSettings; } private void SetSessionSettings(IDbConnection connection, params Tuple[] settings)