Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
vadipokHunterikНо при этом из командной строки из под dsadm с применённым профайлом dsenv работает??? Как устроена ваша программа? Что требует на вход, что пишет на выходе, куда обращается? Выгрузите задание DataStage и стейджик в dsx файл и сюда - секретов нет? Да она вообще простинькая. На вход подается название базы, на выход ничего нет. Обычный вызов системных команд, типа: system("db2 connect .....") system("db2 load/export .....") Вместо система может быть другая команда, которая выполняет вызов системных команд из под Си. Точный текст пока не смогу предоставить, я не на рабочем месте. Спасибо! так нельзя у вас же различные переменные окружения здесь system("db2 connect .....") и здесь system("db2 load/export .....") тогда уж system( "db2 -vf file.db2 -t") и первой строчкой в file.db2 connect к базе ну и среду перед выполнением дб2 нужно настроить корректно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 00:51 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
HunterikХм... Напишите скрипт... #!/bin/bash . ./dsenv (ну примерно так) db2load KF > /dev/null И дёрните его из Wrapper stage. поправил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 01:00 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Новый Год, не правильно поправили... В первом случае вызов идёт из задания, для которого переменные файла dsenv уже применены, программа наследует окружение при запуске. Кроме того, вы ошибаетесь и в случае с вызовом последовательно двух system(), ну либо я неправильно понял ваше утверждение, но соединение открывается и удерживается для последующих команд: #include <stdlib.h> int main() { int retv; // retv = system("ls -l /tmp"); retv = system("db2 connect to sample user db2inst1 using password"); retv = system("db2 select 1 from sysibm.sysdummy1"); return retv; } ------------------- [dsadm@IIS87HOST testik]$ gcc testik.c -o testik [dsadm@IIS87HOST testik]$ ./testik Database Connection Information Database server = DB2/LINUXX8664 9.7.4 SQL authorization ID = DB2INST1 Local database alias = SAMPLE 1 ----------- 1 1 record(s) selected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 01:22 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Hunterik, к сожалению, мне не на чем эксперементировать я от db2 несколько отошел. но будет время -- поставлю поиграюсь а можно сделать, для чистоты эксперемента db2 disconnect all а потом запустить Вашу программу? которая testik коннккшн это же пара структур, в сервере ДБ и в процессе--приложении. ну и возможно пара системных объектов. например на z/os это может быть Named Token pair, по имени токена можно достать указатели на память этих коннекшенов а вот где тут коннекшн на клиенте сохраняется я в упор не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 02:29 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
авторCommand Line Processor Design The command line processor consists of two processes: the front-end process (the DB2 command), which acts as the user interface, and the back-end process (db2bp), which maintains a database connection. Maintaining Database Connections Each time that db2 is invoked, a new front-end process is started. The back-end process is started by the first db2 invocation, and can be explicitly terminated with TERMINATE. All front-end processes with the same parent are serviced by a single back-end process, and therefore share a single database connection. For example, the following db2 calls from the same operating system command prompt result in separate front-end processes sharing a single back-end process, which holds a database connection throughout: db2 'connect to sample', db2 'select * from org', . foo (where foo is a shell script containing DB2 commands), and db2 -tf myfile.clp. The following invocations from the same operating system prompt result in separate database connections because each has a distinct parent process, and therefore a distinct back-end process: foo . foo & foo & sh foo Communication between Front-end and Back-end Processes вотак ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 03:10 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
тут или db2bp был уже запущен или мне даже страшно разбираться, что происходило. процессу init ви2из должен был достаться чтоли после первого system-a? я механизм назначения нового родительского процесса при гибели 1-го подзабыл, если честно. но если он достался init-y, тогда кто угодно может лезть через тот коннкшн в общем, господа прикладные программисты, нужно быть очень осторожными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 03:39 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
HunterikНовый Год, не правильно поправили... В первом случае вызов идёт из задания, для которого переменные файла dsenv уже применены, программа наследует окружение при запуске. а в dsenv есть коннект к дб2, и все послед. команды должны через один и тот же коннекшн выполняться? и больше никаких коннектов в скриптах/программах быть не должно? впрочем, разбиратся все равно не буду... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 04:34 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
HunterikНу тогда вроде понятно... Должно вам помочь следующее: 1. vi dsenv 2. дописываем в конец что-то вроде: PATH=$PATH:/opt/IBM/db2/V9/bin export PATH ...или где там у вас db2 команда находится, либы вы уже прописывали, так что на опыте... 3. . ./dsenv 4. bin/uv -admin -stop bin/uv -admin -start Мне по крайней мере помогло, а было так: 1. $ cat ~/testik/testik.c #include <stdlib.h> int main() { int retv; // retv = system("ls -l /tmp"); retv = system("db2 connect to sample user dsadm using password"); return retv; } $ gcc testik.c -o testik 2. testik_0,0: sh: db2: command not found 3. Добавил указанные выше строки в dsenv, рестартанул движок, попробовал и: testik_0,0: Database Connection Information Database server = DB2/LINUXX8664 9.7.4 SQL authorization ID = DSADM Local database alias = SAMPLE Если это вам поможет, значит вы для dsadm в его собственный профайл вносили какие-то изменения, раз из командной строки работало, а из под движка нет (например, прописывали вызов db2profile в .profile)... Я обычно этого пользователя никак не трогаю - так проще отлавливать ошибки. Если что-то из shell руками не толкнулось, то не толкнется и из под движка. Добрый день! Спасибо большое за столь подробные описания. Из командной строки testik выполняется отлично с выводом следующих строк: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Но при обработке через DataStage Designer Wrapper stage происходит ошибка. Ругается на пакеты и переменные окружения, погуглил, не помогло. Описание ошибки: DataStage Report - Detail Log for job: TestikJob Produced on: 13.08.2012 17:56:16 Project: TestProject Host system: STEND-ITFPK4.APLANA.COM Items: 1 - 14 Sorted on: Date Sorter Item #: 1 Event ID: 0 Timestamp: 2012-08-13 07:55:51 Type: Reset User Name: dsadm Message Id: IIS-DSTAGE-REP-I-0065 Message: Log cleared by user Item #: 2 Event ID: 1 Timestamp: 2012-08-13 07:55:55 Type: Info User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0120 Message: From previous run DataStage Job 22 Phantom 9147 DataStage Phantom Finished. Record Id s???`?1????f,?D%^?$?X??g?K?i?IF?@??c??Q?W*??????dR?\\)`^bO??TP??@??Y?Z??_?x&?RP??s??1?0?g??????q???s?)?%?O?l?f??',mV??X??[;?l contains characters which are not defined in the file's NLS map. Record Id ???;2s??z??*F?T?? ????????0???g?%??p??[#j, ?~j?m?O?"?K7f?' dcq7?':???S?t??Oq??]A????Az?h-??0????d?g?q?Mk???`???H?UA4?QNku??=??I??eb??Ph?l???Kw?????dby contains characters which are not defined in the file's NLS map. Item #: 3 Event ID: 2 Timestamp: 2012-08-13 07:55:56 Type: Control User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0070 Message: Starting Job TestikJob. Item #: 4 Event ID: 3 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0126 Message: Environment variable settings: _=/usr/bin/nohup APT_COMPILEOPT=-O -fPIC -Wno-deprecated -c -m64 -mtune=generic -mcmodel=small APT_COMPILER=g++ APT_CONFIG_FILE=/opt/IBM/InformationServer/Server/Configurations/default.apt APT_ERROR_CONFIGURATION=severity, !vseverity, !jobid, moduleid, errorIndex, timestamp, !ipaddr, !nodeplayer, !nodename, opid, message APT_LINKER=g++ APT_LINKOPT=-shared -m64 APT_MONITOR_MINTIME=10 APT_NO_ONE_NODE_COMBINING_OPTIMIZATION=1 APT_OPERATOR_REGISTRY_PATH=/opt/IBM/InformationServer/Server/Projects/TestProject/buildop APT_ORCHHOME=/opt/IBM/InformationServer/Server/PXEngine ASBHOME=/opt/IBM/InformationServer/ASBNode BELL=^G CONSOLE=/dev/pts/0 DB2INSTANCE=db2inst1 DS_ENABLE_RESERVED_CHAR_CONVERT=0 DS_OPERATOR_BUILDOP_DIR=buildop DS_OPERATOR_WRAPPED_DIR=wrapped DS_OPTIMIZE_FILE_BROWSE=0 DS_PX_RESET=1 DS_TDM_PIPE_OPEN_TIMEOUT=720 DS_TDM_TRACE_SUBROUTINE_CALLS=0 DS_USERNO=-9159 DSHOME=/opt/IBM/InformationServer/Server/DSEngine DSIPC_OPEN_TIMEOUT=30 DSRPCD_PORT_NUMBER=31538 FLAVOR=-1 HOME=/home/dsadm INIT_VERSION=sysvinit-2.86 ISFSHMID=3735563 ISUSER=wasadmin LANG=en_US.UTF-8 LD_LIBRARY_PATH=/opt/IBM/InformationServer/Server/Projects/TestProject/RT_BP22.O:/opt/IBM/InformationServer/Server/DSComponents/lib:/opt/IBM/InformationServer/Server/DSComponents/bin:/opt/IBM/InformationServer/Server/DSParallel:/opt/IBM/InformationServer/Server/PXEngine/user_lib:/opt/IBM/InformationServer/Server/PXEngine/lib:/opt/IBM/InformationServer/Server/Projects/TestProject/buildop:/opt/IBM/InformationServer/Server/branded_odbc/lib:/opt/IBM/InformationServer/Server/DSEngine/lib:/opt/IBM/InformationServer/Server/DSEngine/uvdlls:/opt/IBM/InformationServer/ASBNode/apps/jre/bin:/opt/IBM/InformationServer/ASBNode/apps/jre/bin/classic:/opt/IBM/InformationServer/ASBNode/lib/cpp:/opt/IBM/InformationServer/ASBNode/apps/proxy/cpp/linux-all-x86_64:/opt/ibm/db2/V9.7/lib64/:/usr/lib:.:/lib LOGNAME=dsadm ODBCINI=/opt/IBM/InformationServer/Server/DSEngine/.odbc.ini OLDPWD=/ OSH_STDOUT_MSG=1 PATH=/opt/IBM/InformationServer/Server/Projects/TestProject/wrapped:/opt/IBM/InformationServer/Server/Projects/TestProject/buildop:/opt/IBM/InformationServer/Server/Projects/TestProject/RT_BP22.O:/opt/IBM/InformationServer/Server/DSComponents/lib:/opt/IBM/InformationServer/Server/DSComponents/bin:/opt/IBM/InformationServer/Server/DSParallel:/opt/IBM/InformationServer/Server/PXEngine/user_osh_wrappers:/opt/IBM/InformationServer/Server/PXEngine/osh_wrappers:/opt/IBM/InformationServer/Server/PXEngine/bin:/sbin:/usr/sbin:/bin:/usr/bin:/opt/ibm/db2/V9.7/bin:/usr/kerberos/bin:/usr/local/bin:/usr/X11R6/bin:. PIDTOK=8698 PREVLEVEL=N PWD=/opt/IBM/InformationServer/Server/DSEngine PX_DBCONNECTHOME=/opt/IBM/InformationServer/Server/DSComponents previous=N RUNLEVEL=5 runlevel=5 SELINUX_INIT=YES SHELL=/bin/ksh SHLVL=3 TERM= UDTBIN=/opt/IBM/InformationServer/Server/DSEngine/ud41/bin UDTHOME=/opt/IBM/InformationServer/Server/DSEngine/ud41 USER=dsadm WHO=TestProject Item #: 5 Event ID: 4 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0121 Message: Parallel job initiated Item #: 6 Event ID: 5 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0133 Message: Parallel job default NLS map UTF-8, default locale OFF Item #: 7 Event ID: 6 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSEE-TFCN-00001 Message: main_program: IBM InfoSphere DataStage Enterprise Edition 8.7.0.6126 Copyright (c) 2001, 2005-2011 IBM Corporation. All rights reserved Item #: 8 Event ID: 7 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSEE-TFCN-00006 Message: main_program: conductor uname: -s=Linux; -r=2.6.18-238.el5; -v=#1 SMP Thu Jan 13 15:51:15 EST 2011; -n=stend-itfpk4.aplana.com; -m=x86_64 Item #: 9 Event ID: 8 Timestamp: 2012-08-13 07:55:56 Type: Info User Name: dsadm Message Id: IIS-DSEE-TOSH-00002 Message: main_program: orchgeneral: loaded orchsort: loaded orchstats: loaded Item #: 10 Event ID: 9 Timestamp: 2012-08-13 07:55:56 Type: Fatal User Name: dsadm Message Id: IIS-DSEE-TOSH-00205 Message: main_program: PATH search failure: Item #: 11 Event ID: 10 Timestamp: 2012-08-13 07:55:56 Type: Fatal User Name: dsadm Message Id: IIS-DSEE-TOSH-00384 Message: main_program: Could not locate operator definition, wrapper, or Unix command for "Testik.op"; please check that all needed libraries are preloaded, and check the PATH for the wrappers Item #: 12 Event ID: 11 Timestamp: 2012-08-13 07:55:56 Type: Warning User Name: dsadm Message Id: IIS-DSEE-TFOG-00004 Message: main_program: Operator Testik.op does not exist in the registry. Item #: 13 Event ID: 12 Timestamp: 2012-08-13 07:55:56 Type: Fatal User Name: dsadm Message Id: IIS-DSEE-TCOS-00029 Message: main_program: Creation of a step finished with status = FAILED. Item #: 14 Event ID: 13 Timestamp: 2012-08-13 07:56:02 Type: Control User Name: dsadm Message Id: IIS-DSTAGE-RUN-I-0075 Message: Job TestikJob aborted. End of report. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 15:56 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Новый ГодHunterikНовый Год, не правильно поправили... В первом случае вызов идёт из задания, для которого переменные файла dsenv уже применены, программа наследует окружение при запуске. а в dsenv есть коннект к дб2, и все послед. команды должны через один и тот же коннекшн выполняться? и больше никаких коннектов в скриптах/программах быть не должно? впрочем, разбиратся все равно не буду... Мне тоже кажется что вы немножко не понимаете задачу. Задача состоит не в том что вызвать Си-шную программу из командной строки и сделать какие-то операции в DB2. (Это я уже сделал). Задача состоит в том, чтобы вызвать Си-шную программу из DataStage с передачей параметров, и сделать что-нибудь в db2 из DataStage. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:01 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Ой не то, я забыл написать что свою загрузку blob файлов переделал как вы сказали, и назвал так же testik. Час еще раз попробую сделать точно так, как вы написали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:05 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Тут конечно другой вопрос к Вам, vadipok, почему вы не хотите просто грузить данные через DB2 Connector (bulk load)? Загрузка происходит с использованием утилиты load - всё должно быть хорошо. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:14 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
HunterikТут конечно другой вопрос к Вам, vadipok, почему вы не хотите просто грузить данные через DB2 Connector (bulk load)? Загрузка происходит с использованием утилиты load - всё должно быть хорошо. =) Вы понимаете нужно же не только загрузить в БД эти блоб файлы(черт бы их побрал! :) ), но нужно еще через DataStage преобразовать их в CSV(Это уже второй этап задачи), так что я в любом случае не смогу обойти этот камень. В голову приходили даже такие извращенные мысли сделать таблицу и заливать туда необходимые данные типа название файла, расширение и т. д. А на эту таблицу повесить триггер, который бы вызывал С/С++ программку по нужным операциям. ))) Еще больше убивает то, что в IBM-вской доке прям везде пестрит реклама типа мы можем вызвать C/C++, а на практике нет ни одного нормального описания как это сделать для практической работу, хотя бы один туториал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:32 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Ну я прямо не знаю... Складывается впечатление, что вы DataStage просто, как дорогой шедулер собираетесь использовать... =) Это та же задача? Давайте вспоминать, было вроде так: 1. xls в базе данных 2. Надо выкачать из бд 3. Надо конвертнуть в csv 4. Надо разобрать csv и разложить по таблицам Загрузка blob-ов, которую вы сейчас делаете откуда взялась? По C/C++... На каком уровне и с какой периодичностью вы хотите вызывать внешнюю программу (sequence/job, once/per row)? Что хотите делать с помощью внешней программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 16:56 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
HunterikНу я прямо не знаю... Складывается впечатление, что вы DataStage просто, как дорогой шедулер собираетесь использовать... =) Это та же задача? Давайте вспоминать, было вроде так: 1. xls в базе данных 2. Надо выкачать из бд 3. Надо конвертнуть в csv 4. Надо разобрать csv и разложить по таблицам Загрузка blob-ов, которую вы сейчас делаете откуда взялась? По C/C++... На каком уровне и с какой периодичностью вы хотите вызывать внешнюю программу (sequence/job, once/per row)? Что хотите делать с помощью внешней программы? Мне самому смешно )) Да, та же. Порядок примерное такой как вы описали, только может понадобиться xls файлы сперва перекинуть в другую БД между которыми будет стоять MQ vs DataStage(пока данная архитектура размыта и не ясна). Просто самым первым изучил загрузку, поэтому ее и начал долбить, подумал что если она получиться то и остальное смогу решить. А дальше примерно так. С периодичностью пока не известно, думаю это надо будет уточнить завтра. Вызвать выгрузку и преобразование xls --> csv, а дальше загрузка в БД(я думаю, что это самый легкий этап). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:23 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
1. Пример серверной рутины для запуска внешних команд. CommandLine - параметр рутины (полная команда с параметрами) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Эту рутину вы можете дёргать из Basic Transformer (BTfm) в серверных заданиях или из Sequnce (Routine Activity stage) 2. External Source/Target stage могут быть использованы для получения данных от внешних программ (простой пример - External Source Source Program = cat /tmp/f.txt) 3. Можете написать на C/C++ параллельную рутину и дёргать её из Parallel Transformer (Tfm) для каждой строки, например: Код: plaintext 1. 2. 3. 4. Собираете её до полноценной либы или объектника, в DataStage Designer - create parallel routine - указываете, где исполнимый файл и вперёд дёргать из Tfm... 4. Wrapper Stage - дёргаете внешнюю программу один раз (прога должна быть pipe-safe, stdin ->/-> stdout) 5. Build stage - пишете стейджик через Designer, тут как напишете, в помощь вам developer works и DataStage Advanced Parallel Jobb Developer's Guide. 6. Encode/Decode stages для параллельных заданий в ряде случаев 7. Sequence Job: вызов любой команды через Execute Command stage (в том числе вида echo `ls -la /tmp | wc -l`). 8. Java Pack - Java Transfomer (R&&W)/Java Client (R||W). Идея проста - описываете методы для чтения/обработки/возврата строк для нескольких предпоределённых классов. Очень просто! Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 9. Parallel Custom stage - вот это я вам уже говорил, что сам я пока этого не делал - стейджик from scratch, так сказать. Задачи пока такой просто не было. =) Это то, что я сам лично когда-либо использовал. Вызов команд - легко. Команда - программа или *.bat/*.sh скрипты... В общем то, что можно исполнить. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:34 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
vadipok, дай мэйл. пришлю пару картинок. хотя бы как MQ vs DataStage интегрироавть (только там неправильно) иле как с DataStage/SolidDB/С++ юзаьб связку С++/Datastage/DB2 что-то не нашел я бы конечно всё сделал, если бы мне это было надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:40 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
А вы сгенерить wrapper не забыли случаем? Заходите в стейдж, нажимете Generate! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2012, 17:45 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Новый Годvadipok, дай мэйл. пришлю пару картинок. хотя бы как MQ vs DataStage интегрироавть (только там неправильно) иле как с DataStage/SolidDB/С++ юзаьб связку С++/Datastage/DB2 что-то не нашел я бы конечно всё сделал, если бы мне это было надо Добрый день! Спасибо большое за помощь. Пришлите пожалуйста сюда mat_ochkun@mail.ru PS:Я сейчас работаю от МКАДа примерно за 2000 км, у меня нет таких денег чтобы просить помощи у специалистов, которые внутри МКАДа. )) Приходиться рассчитывать только на себя и на доброту людей которых совсем не знаю.)) + google ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2012, 14:26 |
|
||
|
DataStage vs C
|
|||
|---|---|---|---|
|
#18+
Hunterik, Спасибо большое! Буду разбираться. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2012, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=37913879&tid=1601744]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 315ms |
| total: | 474ms |

| 0 / 0 |
