powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Запуск батника
19 сообщений из 19, страница 1 из 1
Запуск батника
    #39053551
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBScripts умеет батники запускать или команды cmd выполнять? Нужно чтобы если выполнился запрос и выдал count = 1 - убить процесс fb и приложения :)
...
Рейтинг: 0 / 0
Запуск батника
    #39053609
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сайте IBE нашел ответ на свой вопрос, теперь трудность с реализацией. Например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
CONNECT 'C:\Data_fb\log_mon.fdb' USER 'SYSDBA' PASSWORD 'masterkey';
execute block
 as
declare variable T_COUNT INTEGER;

begin

  select count(*) from mon$attachments into :T_COUNT ;

if
(T_COUNT>0)
then 
      
  begin
  execute ibeblock
     as
     begin
       
      ibec_Exec('c:\Program Files (x86)\Notepad++\notepad++.exe', 'OutFile=c:\Data_fb\Restore.log; ConvertToANSI', 0);

     end
  end
end

Получаю:
-------- ERROR ----------
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 15, column 11.
ibeblock.
...
Рейтинг: 0 / 0
Запуск батника
    #39053628
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините все,туплю:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
CONNECT 'C:\Data_fb\log_mon.fdb' USER 'SYSDBA' PASSWORD 'masterkey';
execute ibeblock
as
declare variable T_COUNT INTEGER;
begin
  select count(*) from mon$attachments into :T_COUNT ;
if
(T_COUNT>0)
then      
      ibec_Exec('c:\Program Files (x86)\Notepad++\notepad++.exe', 'OutFile=c:\Data_fb\Restore.log; ConvertToANSI', 0);
end
...
Рейтинг: 0 / 0
Запуск батника
    #39054803
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с такой проблемой - выполняю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
execute ibeblock
as
declare variable T_COUNT INTEGER;
begin

 CREATE CONNECTION Con1 DBNAME 'srv-250:supermagdk.fdb'
    USER 'SYSDBA' PASSWORD 'masterkey'
    SQL_DIALECT 1 NAMES WIN1251;
    USE Con1;
  select count(*)   from mon$attachments ms
left join mon$transactions mt on ms.mon$attachment_id=mt.mon$attachment_id
left join mon$statements mst on mt.mon$transaction_id = mst.mon$transaction_id
where mon$remote_address = '10.1.50.163'and ms.mon$remote_process ='C:\S-Market\SMOvs.exe' into :T_COUNT;
if
(T_COUNT=1)
then      
      ibec_Exec('c:\S-Market\BAT_FILES\Monitoring\tsk_npp.bat', 'OutFile=c:\S-Market\BAT_FILES\Monitoring\Restore.log; ConvertToANSI', 0);

commit;
CLOSE CONNECTION Con1;
end;

у меня висит окно с :

Код: plaintext
1.
2.
3.
4.
5.
C:\S-Market\BAT_FILES\Monitoring>IBEScript.exe exe_ib3.sql
IBEScript Version 2015.6.8.1 Copyright (c) 2002-2014 IBExpert KG (www.ibexpert.c
om)

Executing script: exe_ib3.sql
(Line: 21) : Executing IBEBlock...
и пока я его не закрою сам - оно не закрывается. В файле запись:

Код: plaintext
1.
C:\S-Market\BAT_FILES\Monitoring>taskkill /F /im SMOvs.exe 
Ошибка: Не удается найти процесс "SMOvs.exe".

Как это можно исправить?
...
Рейтинг: 0 / 0
Запуск батника
    #39054823
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Ты чего сделать то хочешь?
...
Рейтинг: 0 / 0
Запуск батника
    #39054831
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, да тут всё просто - если выполнится запрос

select count(*) from mon$attachments ms
left join mon$transactions mt on ms.mon$attachment_id=mt.mon$attachment_id
left join mon$statements mst on mt.mon$transaction_id = mst.mon$transaction_id
where mon$remote_address = '10.1.50.163'and ms.mon$remote_process ='C:\S-Market\SMOvs.exe' into :T_COUNT;
if
(T_COUNT=1)

должен выполнится батник
ibec_Exec('c:\S-Market\BAT_FILES\Monitoring\tsk_npp.bat', 'OutFile=c:\S-Market\BAT_FILES\Monitoring\Restore.log; ConvertToANSI', 0);

в батнике taskkill /F /im SMOvs.exe
...
Рейтинг: 0 / 0
Запуск батника
    #39054891
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависания ушли после того, как указал несуществующий путь к OutFile. Выполнение больше не весит, ну и вывод с приложения никакого нет.
...
Рейтинг: 0 / 0
Запуск батника
    #39054895
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Батник-то запускается? Вставь NoWait в строку с опциями, не будет ждать завершения процесса.
...
Рейтинг: 0 / 0
Запуск батника
    #39054906
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,запускается. Куда NoWait добавить? На http://www.ibexpert.net/ не нашел примеров.
...
Рейтинг: 0 / 0
Запуск батника
    #39054912
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarIBExpert,запускается. Куда NoWait добавить? На http://www.ibexpert.net/ не нашел примеров.

После ConvertToAnsi точку с запятой и NoWait.
ibec_ShellExecute еще есть, обертка над виндовой ShellExecute.
...
Рейтинг: 0 / 0
Запуск батника
    #39054922
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertGallemarIBExpert,запускается. Куда NoWait добавить? На http://www.ibexpert.net/ не нашел примеров.

После ConvertToAnsi точку с запятой и NoWait.
ibec_ShellExecute еще есть, обертка над виндовой ShellExecute.

не получается
ibec_Exec('c:\Data_fb\tsk_npp.bat', 'OutFile=c:\Data_fb\Restore.log'; ConvertToANSI,0; NoWait);


-------- ERROR ----------
At line 17, column 77:
Parsing error!


Script executed with errors.
Total execution time: 15ms
...
Рейтинг: 0 / 0
Запуск батника
    #39054926
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert
ibec_ShellExecute еще есть, обертка над виндовой ShellExecute.
а описание есть? http://www.ibexpert.net/ibe/index.php?n=Doc.IbecShellExecute - пусто
...
Рейтинг: 0 / 0
Запуск батника
    #39054992
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarне получается
ibec_Exec('c:\Data_fb\tsk_npp.bat', 'OutFile=c:\Data_fb\Restore.log'; ConvertToANSI,0; NoWait);


И чо, не видно, где косяк, да?
...
Рейтинг: 0 / 0
Запуск батника
    #39054998
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarIBExpertibec_ShellExecute еще есть, обертка над виндовой ShellExecute.
а описание есть?

Я же написал: обертка над виндовой ShellExecute. Ищи в инете.
...
Рейтинг: 0 / 0
Запуск батника
    #39055005
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertGallemarне получается
ibec_Exec('c:\Data_fb\tsk_npp.bat', 'OutFile=c:\Data_fb\Restore.log'; ConvertToANSI,0; NoWait);


И чо, не видно, где косяк, да?
ага
я с разными вариантами пробовал
...
Рейтинг: 0 / 0
Запуск батника
    #39055045
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarя с разными вариантами пробовал

Разные не надо пробовать, надо пробовать правильный:
ibec_Exec('c:\S-Market\BAT_FILES\Monitoring\tsk_npp.bat', 'OutFile=c:\S-Market\BAT_FILES\Monitoring\Restore.log; ConvertToANSI; NoWait', 0);
...
Рейтинг: 0 / 0
Запуск батника
    #39055240
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,спасибо,теперь работает, но в OutFile ничего не пишет
...
Рейтинг: 0 / 0
Запуск батника
    #39055321
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarIBExpert,спасибо,теперь работает, но в OutFile ничего не пишет

А, ну да, с NoWait и не должно ничего не писаться.
Короче, забей на OutFile и указывай его в командной строке:

ibec_Exec('D:\temp\tk.bat >> D:\temp\tk.log 2>&1', 'NoWait', 0);

Здесь подробнее:
http://www.windowsfaq.ru/content/view/260/57/
...
Рейтинг: 0 / 0
Запуск батника
    #39055425
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert[
Короче, забей на OutFile
Да он мне в принципе особо и не нужен,батники сами что надо фиксируют. Спасибо
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Запуск батника
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]