APG.CodeHelper.ExceptionHandler.ExceptionHandler.HandleSqlClientException C# (CSharp) Method

HandleSqlClientException() private static method

���������� ���������� �� SQL Server 2005
private static HandleSqlClientException ( object sender, System e ) : void
sender object
e System
return void
        private static void HandleSqlClientException(object sender, System.Data.SqlClient.SqlException e)
        {
            const int MSSQL_CONNECTION_ERROR = -1;
            const int MSSQL_SERVICE_STOPED = 2;
            const int MSSQL_SERVICE_PAUSED = 17142;
            const int MSSQL_CONSTRAINT_VIOLATED = 547;
            const int MSSQL_NULL_NOT_ALLOWED = 515;
            const int MSSQL_MSDTC_NOT_RUNNING = 8501;
            const int MSSQL_UNIQUE_VIOLATED = 2627;
            const int MSSQL_LOGIN_FAILED = 4060;
            const int MSSQL_FILE_ACCESS_DENIED = 5120;
            const int MSSQL_LOGIN_DENIED = 18456;
            const int MSSQL_CONNECTION_FAILED = 53;
            const int MSSQL_EXECUTE_TIMEOUT = 30;
            const int MSSQL_PERMISSION_DENIED = 229;
            const int MSSQL_CLR_DISABLED = 6263;

            string errorMessage = "�������������� ���������� �� ������ �����������.";

            switch (e.Number)
            {
                case MSSQL_CONNECTION_ERROR:
                    errorMessage = "������ ����������� � ������ SQL Server. ���������, ��� �� ��������� ������� ��� ������� � ��� ������ ��������� �����������. ���������� �� ������� � �������������� ��� ������."; break;
                case MSSQL_SERVICE_STOPED:
                    errorMessage = "������ Microsoft SQL Server ����������� ��� ������� �������� ��� �������. ���������, ��� ������ �������� � ������� ������ ��� �������. ���������� �� ������� � �������������� ���� ������."; break;
                case MSSQL_SERVICE_PAUSED:
                    errorMessage = "������ Microsoft SQL Server �������������� ��� ���������� � ����� offline. ��������� ������ � ��������� �������. ���������� �� ������� � �������������� ��� ������."; break;
                case MSSQL_CONSTRAINT_VIOLATED:
                    errorMessage = "���������� ������� ���� �������� � ���������� ������������ �����������. ���� �� ��������� �������� ���������� ��� ��������� ������, �� ���������, ��� �� ��������� ��� ����������� ����, ������ ����� ���������� ������ � �������� � ���������� �������� ��������. �������� �������� ����� ���� �������� � ���������� ������� ����������� �� ������. ������� ��� ��������� ������ � ��������� ������� ��������."; break;
                case MSSQL_NULL_NOT_ALLOWED:
                    errorMessage = "���������� �������� ���� ��������, ��� ��� �� ������ �������� � ����� ��� ���������� ����������� � ���������� �����. ��������� ����������� ���� � ��������� ��������."; break;
                case MSSQL_MSDTC_NOT_RUNNING:
                    errorMessage = "������ ������������ ������������� ���������� �� ��������. �������������� ��������� ����������������� \"������\" (������ ���������� -> ����������������� -> ������) ��� �������."; break;
                case MSSQL_UNIQUE_VIOLATED:
                    errorMessage = "���������� �������� ���� �������� � ���������� ������������ ����������� �� ������������. ��� ������ ���������, ���� �� ��������� �������� � ������� ������, ���������� � ������� ��� ������������ � ���� ������. ��������� ������������ �������� � ��������� �������."; break;
                case MSSQL_LOGIN_FAILED:
                    errorMessage = "���������� � �������� �����������, �� ���� ������ �� ������� �����������. ��������, ��� ����� ��� ������ ���� ����������� �� �������. ��� ���������� ���� ������ ���������� � ��������������."; break;
                case MSSQL_FILE_ACCESS_DENIED:
                    errorMessage = "������ � ������ ��� ���� ������ ��������. �������� ����� ������� � ������ ��������� ��� ��� ��� ��������� ������� \"������ ��� ������\". ���� ������������ �������� ������� NTFS ��������� ����� ������� ��������������� ���� ��� ������� � ������. ���������� � �������������� �� �������."; break;
                case MSSQL_LOGIN_DENIED:
                    errorMessage = "��� �������� � ������� � ������ ��� ��������� ������. ��������, ��������� ������������� �� ��� ��� � ������ ������������� ������� ��� ������ ��� ��������� ������. ��� ������� �������� ���������� � ��������������."; break;
                case MSSQL_CONNECTION_FAILED:
                    errorMessage = "�� ������ ���������� ����� � �������� ��� ������ SQL Server. ���������, ��� �� ��������� ������� ��� ������� � ��� ������ ��������� �����������. ���������� �� ������� � �������������� ��� ������."; break;
                case MSSQL_EXECUTE_TIMEOUT:
                    errorMessage = "�������� ������ ����� ������� � ������ ������� � ����������. ��� ������ ����� ����������� ��� ������� �������� ������� ��� ���������� �������� ��� ������� ����������� �������� ���� ������. ���������� ������� ���� ������� �������� �� ���������. ��������� �������� �������� �� ������� � ��������� �������.";
                    break;
                case MSSQL_PERMISSION_DENIED:
                    errorMessage ="��� �������� � ������� � ������ �� �������� ���� ������. ��� ������� �������� ���������� � ���������� ��������������.";
                    break;
                case MSSQL_CLR_DISABLED:
                    errorMessage = "��� ������� ���� ������ �������� ������������� CLR. ��� ��������� ��������� CLR ����������� ����� 'clr enable' ��������� sp_configure. ������ �������������:\nsp_configure 'clr enabled', 1\nGO\nRECONFIGURE\nGO\n���������� �� ������� � ��������������.";
                    break;
            }

            ShowExceptionDialog(e, errorMessage, "Microsoft SQL Server", MessageBoxIcon.Information, true);
        }