Exemplo n.º 1
0
 private static bool IsLocal(string sqlConnectionString, LocalDbServerVerifier localDbServerVerifier)
 {
     sqlConnectionString = sqlConnectionString.ToUpperInvariant();
     string[] array = new string[5]
     {
         "DATA SOURCE",
         "SERVER",
         "ADDRESS",
         "ADDR",
         "NETWORK ADDRESS"
     };
     foreach (string value in array)
     {
         int num = sqlConnectionString.IndexOf(value, StringComparison.Ordinal);
         if (num != -1)
         {
             int num2 = sqlConnectionString.IndexOf("=", num, StringComparison.Ordinal);
             if (num2 != -1 && num2 != sqlConnectionString.Length - 1)
             {
                 int num3 = num2 + 1;
                 int num4 = sqlConnectionString.IndexOf(";", num3, StringComparison.Ordinal);
                 if (num4 != sqlConnectionString.Length - 1)
                 {
                     string sqlInstanceName = sqlConnectionString.Substring(num3, num4 - num3);
                     string machineNameFromSqlInstanceName = SkuUtil.GetMachineNameFromSqlInstanceName(sqlInstanceName);
                     return(localDbServerVerifier(machineNameFromSqlInstanceName));
                 }
             }
         }
     }
     return(false);
 }
Exemplo n.º 2
0
        public static SkuVerificationErrorCode EnsureCorrectEdition(SkuType rsSku, SkuType sqlSku, string connectionString, LocalDbServerVerifier localDbServerVerifier, bool checkRestrictedSkus)
        {
            if (!SkuUtil.IsStandardOrHigher(rsSku) && !SkuUtil.IsLocal(connectionString, localDbServerVerifier))
            {
                return(SkuVerificationErrorCode.LocalConnectionRequired);
            }
            List <SkuType> list        = new List <SkuType>();
            List <SkuType> databaseSku = SkuUtil.GetDatabaseSku(rsSku, out list);

            if (databaseSku.Count > 0 && !databaseSku.Contains(sqlSku))
            {
                return(SkuVerificationErrorCode.DatabaseSkuRequired);
            }
            if (checkRestrictedSkus && list.Count > 0 && list.Contains(sqlSku))
            {
                return(SkuVerificationErrorCode.DatabaseSkuRestricted);
            }
            return(SkuVerificationErrorCode.Success);
        }