Ejemplo n.º 1
0
        private SqlServerItem ParseConnectionString(string connectionString)
        {
            SqlServerItem ret = new SqlServerItem();

            ret.WindowsAuthentication = false;
            string[] pairs = connectionString.Split(';');
            foreach (string pair in pairs)
            {
                string[] keyValue = pair.Split('=');
                if (keyValue.Length == 2)
                {
                    string key   = keyValue[0].Trim().ToLower();
                    string value = keyValue[1];
                    switch (key)
                    {
                    case "server":
                        ret.Server = value;
                        break;

                    case "database":
                        ret.Database = value;
                        break;

                    case "integrated security":
                        if (value.Trim().ToLower() == "sspi")
                        {
                            ret.WindowsAuthentication = true;
                        }
                        break;

                    case "user":
                    case "user id":
                        ret.User = value;
                        break;

                    case "password":
                        ret.Password = value;
                        break;
                    }
                }
            }
            return(ret);
        }
Ejemplo n.º 2
0
        private int AddSqlService(int serverId)
        {
            int serviceId = -1;

            try
            {
                Log.WriteStart("Adding Sql service");

                SqlServerItem item       = ParseConnectionString(EnterpriseServerSetup.DbInstallConnectionString);
                string        serverName = item.Server.ToLower();
                if (serverName.StartsWith("(local)") ||
                    serverName.StartsWith("localhost") ||
                    serverName.StartsWith(System.Environment.MachineName.ToLower()))
                {
                    ServiceInfo serviceInfo = new ServiceInfo();
                    serviceInfo.ServerId    = serverId;
                    serviceInfo.ServiceName = "SQL Server";
                    serviceInfo.Comments    = string.Empty;

                    string connectionString = EnterpriseServerSetup.DbInstallConnectionString;
                    //check SQL version
                    if (SqlUtils.CheckSqlConnection(connectionString))
                    {
                        // check SQL server version
                        string sqlVersion = SqlUtils.GetSqlServerVersion(connectionString);
                        if (sqlVersion.StartsWith("9."))
                        {
                            serviceInfo.ProviderId = 16;
                        }
                        else if (sqlVersion.StartsWith("10."))
                        {
                            serviceInfo.ProviderId = 202;
                        }
                        else if (sqlVersion.StartsWith("11."))
                        {
                            serviceInfo.ProviderId = 209;
                        }
                        else if (sqlVersion.StartsWith("12."))
                        {
                            serviceInfo.ProviderId = 1203;
                        }
                        serviceId = ES.Services.Servers.AddService(serviceInfo);
                    }
                    else
                    {
                        Log.WriteInfo("SQL Server connection error");
                    }
                    //configure service
                    if (serviceId > 0)
                    {
                        StringDictionary settings = GetServiceSettings(serviceId);
                        if (settings != null)
                        {
                            settings["InternalAddress"]      = item.Server;
                            settings["ExternalAddress"]      = string.Empty;
                            settings["UseTrustedConnection"] = item.WindowsAuthentication.ToString();
                            settings["SaLogin"]    = item.User;
                            settings["SaPassword"] = item.Password;
                            UpdateServiceSettings(serviceId, settings);
                        }
                        InstallService(serviceId);
                        Log.WriteEnd("Added Sql service");
                    }
                    else
                    {
                        Log.WriteError(string.Format("Enterprise Server error: {0}", serviceId));
                    }
                }
                else
                {
                    Log.WriteError("Microsoft SQL Server was not found");
                }
                return(serviceId);
            }
            catch (Exception ex)
            {
                if (!Utils.IsThreadAbortException(ex))
                {
                    Log.WriteError("Sql service configuration error", ex);
                }
                return(-1);
            }
        }
		private SqlServerItem ParseConnectionString(string connectionString)
		{
			SqlServerItem ret = new SqlServerItem();

			ret.WindowsAuthentication = false;
			string[] pairs = connectionString.Split(';');
			foreach (string pair in pairs)
			{
				string[] keyValue = pair.Split('=');
				if (keyValue.Length == 2)
				{
					string key = keyValue[0].Trim().ToLower();
					string value = keyValue[1];
					switch (key)
					{
						case "server":
							ret.Server = value;
							break;
						case "database":
							ret.Database = value;
							break;
						case "integrated security":
							if (value.Trim().ToLower() == "sspi")
								ret.WindowsAuthentication = true;
							break;
						case "user":
						case "user id":
							ret.User = value;
							break;
						case "password":
							ret.Password = value;
							break;
					}
				}
			}
			return ret;
		}