| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Александр
 
 
  Зарегистрирован: 24.05.2008 Сообщения: 115 Откуда: Moscow
  | 
		
			
				 Добавлено: Чт Фев 01, 2018 18:39    Заголовок сообщения: Архивировать отчет | 
				     | 
			 
			
				
  | 
			 
			
				Коллеги, доброе время суток!
 
Из БОСС в текстовый файл выгружается отчет для других систем.
 
Поступила новая вводная - сразу при создании архивировать (ZIP) отчет.
 
Вопрос - как это сделать?
 
Есть идея формировать в промежуточный каталог, а затем каждые 5 мин запускать задание из него архивировать и затем копировать в ресурс назначения... А может есть более оптимальное решение? Временная пауза 5 мин не очень красиво. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Eng Site Admin
 
  Зарегистрирован: 13.05.2008 Сообщения: 160
 
  | 
		
			
				 Добавлено: Пт Фев 02, 2018 10:17    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Добрый день. На сервере можно использовать хранимую процедуру df_xp_cmdshell для запуска командной строки. В командной строке соответственно прописать параметры для запуска архиватора. 
 
xp_cmdshell  должен быть включен в конфигурации SQL Server | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		rebel25 Большой шоколадный орден
  
 
  Зарегистрирован: 06.10.2008 Сообщения: 580 Откуда: Москва
  | 
		
			
				 Добавлено: Пт Ноя 22, 2024 12:38    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Файлы выгружены в директорию _tmp_dir_
 
Программа упакует каждый файл с расширением csv отдельно и удалит исходник. 
 
На компьютере должен быть установлен архиватор 7zip
 
 
alias _tmp_dir1_ = _tmp_dir_\*.csv;
 
let _tmp_dir1_ := '"'+:_tmp_dir1_+'"';
 
 
alias _tmp_dir2_ = _tmp_dir_\%~ni.zip;
 
let _tmp_dir2_ :=  '"'+:_tmp_dir2_+'"';
 
 
let _s = 'C:\Windows\System32\cmd.exe /C FOR %i IN (_tmp_dir1_) DO "C:\Program Files\7-Zip\7z.exe" a -tzip -sdel _tmp_dir2_ "%i"';
 
 
ERROROFF;
 
system _s, wait;
 
ERRORON; | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
	
	
	
		 |