Beispiel #1
0
        public static Driver Create(MySqlConnectionStringBuilder settings)
        {
            Driver d = null;

#if !NETSTANDARD1_6
            try
            {
                if (MySqlTrace.QueryAnalysisEnabled || settings.Logging || settings.UseUsageAdvisor)
                {
                    d = new TracingDriver(settings);
                }
            }
            catch (TypeInitializationException ex)
            {
                if (!(ex.InnerException is SecurityException))
                {
                    throw ex;
                }
                //Only rethrow if InnerException is not a SecurityException. If it is a SecurityException then
                //we couldn't initialize MySqlTrace because we don't have unmanaged code permissions.
            }
#else
            if (settings.Logging || settings.UseUsageAdvisor)
            {
                throw new NotImplementedException("Logging not supported in this WinRT release.");
            }
#endif
            if (d == null)
            {
                d = new Driver(settings);
            }

            //this try was added as suggested fix submitted on MySql Bug 72025, socket connections are left in CLOSE_WAIT status when connector fails to open a new connection.
            //the bug is present when the client try to get more connections that the server support or has configured in the max_connections variable.
            try
            {
                d.Open();
            }
            catch (Exception ex)
            {
                d.Dispose();
                throw ex;
            }
            return(d);
        }
Beispiel #2
0
        public static Driver Create(MySqlConnectionStringBuilder settings)
        {
            Driver d = null;
#if !NETSTANDARD1_6
            try
            {
                if (MySqlTrace.QueryAnalysisEnabled || settings.Logging || settings.UseUsageAdvisor)
                    d = new TracingDriver(settings);
            }
            catch (TypeInitializationException ex)
            {
                if (!(ex.InnerException is SecurityException))
                    throw ex;
                //Only rethrow if InnerException is not a SecurityException. If it is a SecurityException then 
                //we couldn't initialize MySqlTrace because we don't have unmanaged code permissions. 
            }
#else
      if (settings.Logging || settings.UseUsageAdvisor)
      {
        throw new NotImplementedException( "Logging not supported in this WinRT release." );
      }
#endif
            if (d == null)
                d = new Driver(settings);

            //this try was added as suggested fix submitted on MySql Bug 72025, socket connections are left in CLOSE_WAIT status when connector fails to open a new connection.
            //the bug is present when the client try to get more connections that the server support or has configured in the max_connections variable.
            try
            {
                d.Open();
            }
            catch (Exception ex)
            {
                d.Dispose();
                throw ex;
            }
            return d;
        }