diff --git a/src/Umbraco.Core/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs b/src/Umbraco.Core/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs index a49872ac5e..e51aa547b8 100644 --- a/src/Umbraco.Core/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs +++ b/src/Umbraco.Core/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Data; using System.Data.Common; using System.Linq; using NPoco; @@ -122,6 +123,12 @@ namespace Umbraco.Core.Persistence.SqlSyntax SERVERPROPERTY('ResourceLastUpdateDateTime') ResourceLastUpdateDateTime, SERVERPROPERTY('ProductLevel') ProductLevel;"; + string GetString(IDataReader reader, int ordinal, string defaultValue) + => reader.IsDBNull(ordinal) ? defaultValue : reader.GetString(ordinal); + + int GetInt32(IDataReader reader, int ordinal, int defaultValue) + => reader.IsDBNull(ordinal) ? defaultValue : reader.GetInt32(ordinal); + connection.ConnectionString = connectionString; ServerVersionInfo version; using (connection) @@ -136,12 +143,12 @@ namespace Umbraco.Core.Persistence.SqlSyntax reader.Read(); // InstanceName can be NULL for the default instance version = new ServerVersionInfo( - reader.GetString(0), - reader.IsDBNull(2) ? "(default)" : reader.GetString(2), - reader.IsDBNull(3) ? "" : reader.GetString(3), - (EngineEdition) reader.GetInt32(5), - reader.GetString(7), - reader.GetString(9)); + GetString(reader, 0, "Unknown"), + GetString(reader, 2, "(default)"), + GetString(reader, 3, string.Empty), + (EngineEdition) GetInt32(reader, 5, 0), + GetString(reader, 7, "DEFAULT"), + GetString(reader, 9, "Unknown")); } connection.Close(); }