Example #1
0
        public void DeleteUser(FbUserData user)
        {
            if (string.IsNullOrEmpty(user.UserName))
            {
                throw new InvalidOperationException("Invalid user name.");
            }

            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_delete_user);
            StartSpb.Append(IscCodes.isc_spb_sec_username, user.UserName);
            if ((user.RoleName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sql_role_name, user.RoleName);
            }

            Open();
            StartTask();
            Close();
        }
Example #2
0
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                StartSpb = new ServiceParameterBuffer();
                StartSpb.Append(IscCodes.isc_action_svc_restore);
                foreach (var bkpFile in BackupFiles)
                {
                    StartSpb.Append(IscCodes.isc_spb_bkp_file, bkpFile.BackupFile);
                }
                StartSpb.Append(IscCodes.isc_spb_dbname, Database);
                if (Verbose)
                {
                    StartSpb.Append(IscCodes.isc_spb_verbose);
                }
                if (PageBuffers.HasValue)
                {
                    StartSpb.Append(IscCodes.isc_spb_res_buffers, (int)PageBuffers);
                }
                if (_pageSize.HasValue)
                {
                    StartSpb.Append(IscCodes.isc_spb_res_page_size, (int)_pageSize);
                }
                StartSpb.Append(IscCodes.isc_spb_res_access_mode, (byte)(ReadOnly ? IscCodes.isc_spb_res_am_readonly : IscCodes.isc_spb_res_am_readwrite));
                if (!string.IsNullOrEmpty(SkipData))
                {
                    StartSpb.Append(IscCodes.isc_spb_res_skip_data, SkipData);
                }
                StartSpb.Append(IscCodes.isc_spb_options, (int)Options);

                Open();
                StartTask();
                if (Verbose)
                {
                    ProcessServiceOutput();
                }
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
        private async Task ModifyUserImpl(FbUserData user, AsyncWrappingCommonArgs async)
        {
            if (string.IsNullOrEmpty(user.UserName))
            {
                throw new InvalidOperationException("Invalid user name.");
            }

            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_modify_user);
            startSpb.Append(IscCodes.isc_spb_sec_username, user.UserName);
            if ((user.UserPassword?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sec_password, user.UserPassword);
            }
            if ((user.FirstName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sec_firstname, user.FirstName);
            }
            if ((user.MiddleName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sec_middlename, user.MiddleName);
            }
            if ((user.LastName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sec_lastname, user.LastName);
            }
            startSpb.Append(IscCodes.isc_spb_sec_userid, user.UserID);
            startSpb.Append(IscCodes.isc_spb_sec_groupid, user.GroupID);
            if ((user.GroupName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sec_groupname, user.GroupName);
            }
            if ((user.RoleName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sql_role_name, user.RoleName);
            }
            await StartTask(startSpb, async).ConfigureAwait(false);
            await Close(async).ConfigureAwait(false);
        }
Example #4
0
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                Open();
                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_backup);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                foreach (var file in BackupFiles)
                {
                    startSpb.Append(IscCodes.isc_spb_bkp_file, file.BackupFile, SpbFilenameEncoding);
                    if (file.BackupLength.HasValue)
                    {
                        startSpb.Append(IscCodes.isc_spb_bkp_length, (int)file.BackupLength);
                    }
                }
                if (Verbose)
                {
                    startSpb.Append(IscCodes.isc_spb_verbose);
                }
                if (Factor > 0)
                {
                    startSpb.Append(IscCodes.isc_spb_bkp_factor, Factor);
                }
                if (!string.IsNullOrEmpty(SkipData))
                {
                    startSpb.Append(IscCodes.isc_spb_bkp_skip_data, SkipData);
                }
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                startSpb.Append(IscCodes.isc_spb_bkp_stat, Statistics.BuildConfiguration());
                StartTask(startSpb);
                if (Verbose)
                {
                    ProcessServiceOutput(EmptySpb);
                }
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
Example #5
0
        public void SetReserveSpace(bool reserveSpace)
        {
            EnsureDatabase();

            Open();
            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_properties);
            startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
            if (reserveSpace)
            {
                startSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res);
            }
            else
            {
                startSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res_use_full);
            }
            StartTask(startSpb);
            Close();
        }
Example #6
0
        public void SetReserveSpace(bool reserveSpace)
        {
            EnsureDatabase();

            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_properties);
            StartSpb.Append(IscCodes.isc_spb_dbname, Database);
            if (reserveSpace)
            {
                StartSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res);
            }
            else
            {
                StartSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res_use_full);
            }

            Open();
            StartTask();
            Close();
        }
Example #7
0
        public void SetForcedWrites(bool forcedWrites)
        {
            EnsureDatabase();

            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_properties);
            StartSpb.Append(IscCodes.isc_spb_dbname, Database);
            if (forcedWrites)
            {
                StartSpb.Append(IscCodes.isc_spb_prp_write_mode, (byte)IscCodes.isc_spb_prp_wm_sync);
            }
            else
            {
                StartSpb.Append(IscCodes.isc_spb_prp_write_mode, (byte)IscCodes.isc_spb_prp_wm_async);
            }

            Open();
            StartTask();
            Close();
        }
        private async Task DeleteUserImpl(FbUserData user, AsyncWrappingCommonArgs async)
        {
            if (string.IsNullOrEmpty(user.UserName))
            {
                throw new InvalidOperationException("Invalid user name.");
            }

            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_delete_user);
            startSpb.Append(IscCodes.isc_spb_sec_username, user.UserName);
            if ((user.RoleName?.Length ?? 0) != 0)
            {
                startSpb.Append(IscCodes.isc_spb_sql_role_name, user.RoleName);
            }
            await StartTask(startSpb, async).ConfigureAwait(false);
            await Close(async).ConfigureAwait(false);
        }
Example #9
0
        public void ModifyUser(FbUserData user)
        {
            if (string.IsNullOrEmpty(user.UserName))
            {
                throw new InvalidOperationException("Invalid user name.");
            }

            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_modify_user);
            StartSpb.Append(IscCodes.isc_spb_sec_username, user.UserName);
            if ((user.UserPassword?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sec_password, user.UserPassword);
            }
            if ((user.FirstName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sec_firstname, user.FirstName);
            }
            if ((user.MiddleName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sec_middlename, user.MiddleName);
            }
            if ((user.LastName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sec_lastname, user.LastName);
            }
            StartSpb.Append(IscCodes.isc_spb_sec_userid, user.UserID);
            StartSpb.Append(IscCodes.isc_spb_sec_groupid, user.GroupID);
            if ((user.GroupName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sec_groupname, user.GroupName);
            }
            if ((user.RoleName?.Length ?? 0) != 0)
            {
                StartSpb.Append(IscCodes.isc_spb_sql_role_name, user.RoleName);
            }

            Open();
            StartTask();
            Close();
        }
        private async Task SetReserveSpaceImpl(bool reserveSpace, AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_properties);
            startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
            if (reserveSpace)
            {
                startSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res);
            }
            else
            {
                startSpb.Append(IscCodes.isc_spb_prp_reserve_space, (byte)IscCodes.isc_spb_prp_res_use_full);
            }
            await StartTask(startSpb, async).ConfigureAwait(false);
            await Close(async).ConfigureAwait(false);
        }
        private async Task SetForcedWritesImpl(bool forcedWrites, AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_properties);
            startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
            if (forcedWrites)
            {
                startSpb.Append(IscCodes.isc_spb_prp_write_mode, (byte)IscCodes.isc_spb_prp_wm_sync);
            }
            else
            {
                startSpb.Append(IscCodes.isc_spb_prp_write_mode, (byte)IscCodes.isc_spb_prp_wm_async);
            }
            await StartTask(startSpb, async).ConfigureAwait(false);
            await Close(async).ConfigureAwait(false);
        }
Example #12
0
        public FbUserData[] DisplayUsers()
        {
            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_display_user);

            Open();
            StartTask();
            var info = Query(new byte[] { IscCodes.isc_info_svc_get_users });

            Close();
            return((FbUserData[])info.FirstOrDefault());
        }
        private async Task DatabaseShutdown2Impl(FbShutdownOnlineMode mode, FbShutdownType type, int seconds, AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_properties);
            startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
            startSpb.Append(IscCodes.isc_spb_prp_shutdown_mode, FbShutdownOnlineModeToIscCode(mode));
            switch (type)
            {
            case FbShutdownType.ForceShutdown:
                startSpb.Append(IscCodes.isc_spb_prp_force_shutdown, seconds);
                break;

            case FbShutdownType.AttachmentsShutdown:
                startSpb.Append(IscCodes.isc_spb_prp_attachments_shutdown, seconds);
                break;

            case FbShutdownType.TransactionsShutdown:
                startSpb.Append(IscCodes.isc_spb_prp_transactions_shutdown, seconds);
                break;
            }
            await StartTask(startSpb, async).ConfigureAwait(false);
            await Close(async).ConfigureAwait(false);
        }
Example #14
0
        public void DatabaseShutdown2(FbShutdownOnlineMode mode, FbShutdownType type, int seconds)
        {
            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_properties);
            StartSpb.Append(IscCodes.isc_spb_dbname, Database);
            StartSpb.Append(IscCodes.isc_spb_prp_shutdown_mode, FbShutdownOnlineModeToIscCode(mode));
            switch (type)
            {
            case FbShutdownType.ForceShutdown:
                StartSpb.Append(IscCodes.isc_spb_prp_force_shutdown, seconds);
                break;

            case FbShutdownType.AttachmentsShutdown:
                StartSpb.Append(IscCodes.isc_spb_prp_attachments_shutdown, seconds);
                break;

            case FbShutdownType.TransactionsShutdown:
                StartSpb.Append(IscCodes.isc_spb_prp_transactions_shutdown, seconds);
                break;
            }

            Open();
            StartTask();
            Close();
        }
        private async Task ExecuteImpl(AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_nbak);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_nbk_level, _level);
                startSpb.Append(IscCodes.isc_spb_nbk_file, BackupFile, SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_nbk_direct, DirectIO ? "ON" : "OFF");
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ProcessServiceOutput(EmptySpb, async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }
Example #16
0
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                StartSpb = new ServiceParameterBuffer();
                StartSpb.Append(IscCodes.isc_action_svc_nbak);
                StartSpb.Append(IscCodes.isc_spb_dbname, Database);
                StartSpb.Append(IscCodes.isc_spb_nbk_level, _level);
                StartSpb.Append(IscCodes.isc_spb_nbk_file, BackupFile);
                StartSpb.Append(IscCodes.isc_spb_nbk_direct, DirectIO ? "ON" : "OFF");
                StartSpb.Append(IscCodes.isc_spb_options, (int)Options);

                Open();
                StartTask();
                ProcessServiceOutput();
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
		void DoSimpleAction(int action, int? sessionID = null)
		{
			try
			{
				StartSpb = new ServiceParameterBuffer();
				StartSpb.Append(action);
				if (sessionID.HasValue)
					StartSpb.Append(IscCodes.isc_spb_trc_id, (int)sessionID);

				Open();
				StartTask();
				ProcessServiceOutput();
			}
			catch (Exception ex)
			{
				throw new FbException(ex.Message, ex);
			}
			finally
			{
				Close();
			}
		}
Example #18
0
        public void Execute()
        {
            try
            {
                StartSpb = new ServiceParameterBuffer();
                StartSpb.Append(IscCodes.isc_action_svc_db_stats);
                StartSpb.Append(IscCodes.isc_spb_dbname, Database);
                StartSpb.Append(IscCodes.isc_spb_options, (int)Options);

                Open();
                StartTask();
                ProcessServiceOutput();
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                Open();
                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_db_stats);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                StartTask(startSpb);
                ProcessServiceOutput(EmptySpb);
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
Example #20
0
        private async Task ExecuteImpl(AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_restore);
                startSpb.Append(IscCodes.isc_spb_bkp_file, "stdin", SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                if (Verbose)
                {
                    startSpb.Append(IscCodes.isc_spb_verbose);
                }
                if (PageBuffers.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_res_buffers, (int)PageBuffers);
                }
                if (_pageSize.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_res_page_size, (int)_pageSize);
                }
                startSpb.Append(IscCodes.isc_spb_res_access_mode, (byte)(ReadOnly ? IscCodes.isc_spb_res_am_readonly : IscCodes.isc_spb_res_am_readwrite));
                if (!string.IsNullOrEmpty(SkipData))
                {
                    startSpb.Append(IscCodes.isc_spb_res_skip_data, SkipData);
                }
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ReadInput(async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }
Example #21
0
        private async Task ExecuteImpl(AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_db_stats);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ProcessServiceOutput(EmptySpb, async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw FbException.Create(ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }
Example #22
0
        public void DatabaseShutdown(FbShutdownMode mode, int seconds)
        {
            StartSpb = new ServiceParameterBuffer();
            StartSpb.Append(IscCodes.isc_action_svc_properties);
            StartSpb.Append(IscCodes.isc_spb_dbname, Database);
            switch (mode)
            {
            case FbShutdownMode.Forced:
                StartSpb.Append(IscCodes.isc_spb_prp_shutdown_db, seconds);
                break;

            case FbShutdownMode.DenyTransaction:
                StartSpb.Append(IscCodes.isc_spb_prp_deny_new_transactions, seconds);
                break;

            case FbShutdownMode.DenyConnection:
                StartSpb.Append(IscCodes.isc_spb_prp_deny_new_attachments, seconds);
                break;
            }

            Open();
            StartTask();
            Close();
        }
        private async Task <FbUserData[]> DisplayUsersImpl(AsyncWrappingCommonArgs async)
        {
            await Open(async).ConfigureAwait(false);

            var startSpb = new ServiceParameterBuffer();

            startSpb.Append(IscCodes.isc_action_svc_display_user);
            await StartTask(startSpb, async).ConfigureAwait(false);

            var info = await Query(new byte[] { IscCodes.isc_info_svc_get_users }, EmptySpb, async).ConfigureAwait(false);

            await Close(async).ConfigureAwait(false);

            return((FbUserData[])info.FirstOrDefault());
        }
Example #24
0
        async Task DoSimpleAction(int action, int?sessionID, AsyncWrappingCommonArgs async)
        {
            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(action);
                if (sessionID.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_trc_id, (int)sessionID);
                }
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ProcessServiceOutput(EmptySpb, async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }
Example #25
0
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                Open();
                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_restore);
                startSpb.Append(IscCodes.isc_spb_bkp_file, "stdin", SpbFilenameEncoding);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                if (Verbose)
                {
                    startSpb.Append(IscCodes.isc_spb_verbose);
                }
                if (PageBuffers.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_res_buffers, (int)PageBuffers);
                }
                if (_pageSize.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_res_page_size, (int)_pageSize);
                }
                startSpb.Append(IscCodes.isc_spb_res_access_mode, (byte)(ReadOnly ? IscCodes.isc_spb_res_am_readonly : IscCodes.isc_spb_res_am_readwrite));
                if (!string.IsNullOrEmpty(SkipData))
                {
                    startSpb.Append(IscCodes.isc_spb_res_skip_data, SkipData);
                }
                startSpb.Append(IscCodes.isc_spb_options, (int)Options);
                StartTask(startSpb);
                ReadInput();
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
Example #26
0
        public void Execute()
        {
            try
            {
                StartSpb = new ServiceParameterBuffer();
                StartSpb.Append(IscCodes.isc_action_svc_backup);
                StartSpb.Append(IscCodes.isc_spb_dbname, Database);
                foreach (FbBackupFile file in BackupFiles)
                {
                    StartSpb.Append(IscCodes.isc_spb_bkp_file, file.BackupFile);
                    if (file.BackupLength.HasValue)
                    {
                        StartSpb.Append(IscCodes.isc_spb_bkp_length, (int)file.BackupLength);
                    }
                }
                if (Verbose)
                {
                    StartSpb.Append(IscCodes.isc_spb_verbose);
                }
                if (Factor > 0)
                {
                    StartSpb.Append(IscCodes.isc_spb_bkp_factor, Factor);
                }
                if (!string.IsNullOrEmpty(SkipData))
                {
                    StartSpb.Append(IscCodes.isc_spb_bkp_skip_data, SkipData);
                }
                StartSpb.Append(IscCodes.isc_spb_options, (int)Options);

                Open();
                StartTask();
                if (Verbose)
                {
                    ProcessServiceOutput();
                }
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
 public void Execute()
 {
     try
     {
         Open();
         var startSpb = new ServiceParameterBuffer();
         startSpb.Append(IscCodes.isc_action_svc_get_ib_log);
         StartTask(startSpb);
         ProcessServiceOutput(EmptySpb);
     }
     catch (Exception ex)
     {
         throw new FbException(ex.Message, ex);
     }
     finally
     {
         Close();
     }
 }
Example #28
0
        private async Task ExecuteImpl(AsyncWrappingCommonArgs async)
        {
            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_get_ib_log);
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ProcessServiceOutput(EmptySpb, async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }
Example #29
0
        public void Execute()
        {
            EnsureDatabase();

            try
            {
                StartSpb = new ServiceParameterBuffer();
                StartSpb.Append(IscCodes.isc_action_svc_validate);
                StartSpb.Append(IscCodes.isc_spb_dbname, Database);
                if (!string.IsNullOrEmpty(TablesInclude))
                {
                    StartSpb.Append(IscCodes.isc_spb_val_tab_incl, TablesInclude);
                }
                if (!string.IsNullOrEmpty(TablesExclude))
                {
                    StartSpb.Append(IscCodes.isc_spb_val_tab_excl, TablesExclude);
                }
                if (!string.IsNullOrEmpty(IndicesInclude))
                {
                    StartSpb.Append(IscCodes.isc_spb_val_idx_incl, IndicesInclude);
                }
                if (!string.IsNullOrEmpty(IndicesExclude))
                {
                    StartSpb.Append(IscCodes.isc_spb_val_idx_excl, IndicesExclude);
                }
                if (LockTimeout.HasValue)
                {
                    StartSpb.Append(IscCodes.isc_spb_val_lock_timeout, (int)LockTimeout);
                }

                Open();
                StartTask();
                ProcessServiceOutput();
            }
            catch (Exception ex)
            {
                throw new FbException(ex.Message, ex);
            }
            finally
            {
                Close();
            }
        }
Example #30
0
        private async Task ExecuteImpl(AsyncWrappingCommonArgs async)
        {
            EnsureDatabase();

            try
            {
                await Open(async).ConfigureAwait(false);

                var startSpb = new ServiceParameterBuffer();
                startSpb.Append(IscCodes.isc_action_svc_validate);
                startSpb.Append(IscCodes.isc_spb_dbname, Database, SpbFilenameEncoding);
                if (!string.IsNullOrEmpty(TablesInclude))
                {
                    startSpb.Append(IscCodes.isc_spb_val_tab_incl, TablesInclude);
                }
                if (!string.IsNullOrEmpty(TablesExclude))
                {
                    startSpb.Append(IscCodes.isc_spb_val_tab_excl, TablesExclude);
                }
                if (!string.IsNullOrEmpty(IndicesInclude))
                {
                    startSpb.Append(IscCodes.isc_spb_val_idx_incl, IndicesInclude);
                }
                if (!string.IsNullOrEmpty(IndicesExclude))
                {
                    startSpb.Append(IscCodes.isc_spb_val_idx_excl, IndicesExclude);
                }
                if (LockTimeout.HasValue)
                {
                    startSpb.Append(IscCodes.isc_spb_val_lock_timeout, (int)LockTimeout);
                }
                await StartTask(startSpb, async).ConfigureAwait(false);
                await ProcessServiceOutput(EmptySpb, async).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                throw FbException.Create(ex);
            }
            finally
            {
                await Close(async).ConfigureAwait(false);
            }
        }