Начало » Использование СУБД » Microsoft SQL Server » MS SQL+Alerts+FireDAC (успешный опыт скрещивания)  
	
		
		
			| MS SQL+Alerts+FireDAC [сообщение #2312] | 
			Sun, 21 May 2023 22:48   | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		У кого-то получилось настроить уведомления от MS SQL сервера в FireDAC? Примеров в сети практически нет, ИИ тоже молчит. Пробовал код из инета: 
procedure TChatForm.btn1Click(Sender: TObject);
begin
	qryFireEvents.SQL.Clear;
	if qryFireEvents.Connection.ConnectionMetaDataIntf.EventSupported then begin
		qryFireEvents.Connection.ExecSQL('delete from dbo.Test');
		qryFireEvents.Connection.ExecSQL('insert into dbo.Test values (1, ''Test1'')');
		qryFireEvents.Connection.ExecSQL('delete from dbo.Test2');
		qryFireEvents.Connection.ExecSQL('insert into dbo.Test2 values (1, ''Test2'')');
	end;
end;
procedure TChatForm.ea1Alert(ASender: TFDCustomEventAlerter;
  const AEventName: string; const AArgument: Variant);
var
	i: Integer;
	sArgs: String;
begin
	if VarIsArray(AArgument) then
  begin
		sArgs := '';
		for i := VarArrayLowBound(AArgument, 1) to VarArrayHighBound(AArgument, 1) do
    begin
			if sArgs <> '' then
				sArgs := sArgs + ', ';
			sArgs := sArgs + VarToStr(AArgument[i]);
		end;
	end
	else if VarIsNull(AArgument) then sArgs := '<NULL>'
	else if VarIsEmpty(AArgument) then sArgs := '<UNASSIGNED>'
	else sArgs := VarToStr(AArgument);
	Mem1.Lines.Add('Event - [' + AEventName + '] - [' + sArgs + ']');
end;
procedure TChatForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
	if not ea1.Active then Exit;
	ea1.Unregister;
end;
procedure TChatForm.FormCreate(Sender: TObject);
begin
	if ea1.Active then 	Exit;
	ea1.Names.Clear;
	ea1.Names.Add('QUEUE=?');
	ea1.Names.Add('SERVICE=?');
	ea1.Names.Add('CHANGE1=ev1;select id, name from dbo.Test');
	ea1.Names.Add('CHANGE2=ev2;select id, name from dbo.Test2');
	ea1.Options.Synchronize := True;
	ea1.Register;
end;
 
На этапе регистрации Alerter выдает такое исключение 
Project warehouse.exe raised exception class EFDException with message '[FireDAC][Phys][MSSQL]-326. Cannot perform the action, because the previous action is in 
progress'.
  
ODBC 18, MS SQL 2022 Developer
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
  
 
	
	  | 
	 | 
	
		MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  МП - Mon, 22 May 2023 12:17  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  VladF - Mon, 22 May 2023 14:45  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  МП - Mon, 22 May 2023 15:14  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  VladF - Mon, 22 May 2023 17:04  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  МП - Mon, 22 May 2023 17:56  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  SD - Tue, 23 May 2023 00:29  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  VladF - Tue, 23 May 2023 09:44  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  VladF - Wed, 24 May 2023 10:27  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  shigor - Thu, 25 May 2023 17:45  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		От:  SD - Sat, 27 May 2023 14:26  
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
 
	  | 
	 | 
	
		Re: MS SQL+Alerts+FireDAC
		
	 | 
  
Переход к форуму:
 
 Текущее время: Tue Nov 04 09:23:09 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01445 секунд 
 |