Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
Всем доброе время суток. C DB2 почти не работал. Не могу решить следующую задачу. Есть таблица: CREATE TABLE "SHL "."NSTOCK" ( "ID" INTEGER NOT NULL , "GROUPID" INTEGER NOT NULL , "CATALOGNO" CHAR(24) NOT NULL , "CATALOGMOPAR" CHAR(24) WITH DEFAULT , "NAMER" CHAR(100) WITH DEFAULT , "NAMEA" CHAR(100) WITH DEFAULT , "SALE" DOUBLE WITH DEFAULT , "MODEL" CHAR(5) NOT NULL WITH DEFAULT , "ISCONST" CHAR(1) NOT NULL , "WARRANTYTYPE" SMALLINT , "WARRANTY" INTEGER , "SELFCOST" DOUBLE WITH DEFAULT , "HASIMAGE1" INTEGER WITH DEFAULT , "HASIMAGE2" INTEGER WITH DEFAULT , "HASDESC" INTEGER WITH DEFAULT , "VES" DOUBLE WITH DEFAULT , "NU" INTEGER WITH DEFAULT , "HANDCOST" CHAR(1) NOT NULL WITH DEFAULT 'N' , "COUNTRYCOUNT" INTEGER WITH DEFAULT , "SSLCNT" INTEGER WITH DEFAULT , "STIMCNT" INTEGER WITH DEFAULT , "MAKERID" INTEGER , "ANCNT" INTEGER WITH DEFAULT , "CCID" INTEGER ) IN "USERSPACE1" ; CREATE INDEX "SHL "."NS_GID" ON "SHL "."NSTOCK" ("GROUPID" ASC, "ID" ASC) DISALLOW REVERSE SCANS; CREATE INDEX "SHL "."NST_C_D" ON "SHL "."NSTOCK" ("CATALOGNO" DESC) DISALLOW REVERSE SCANS; CREATE INDEX "SHL "."NSTGSI" ON "SHL "."NSTOCK" ("GROUPID" ASC, "SALE" ASC, "ID" ASC) DISALLOW REVERSE SCANS; CREATE INDEX "SHL "."NSTIDD" ON "SHL "."NSTOCK" ("ID" DESC) DISALLOW REVERSE SCANS; CREATE UNIQUE INDEX "SHL "."NSTOCKBYCATALOG" ON "SHL "."NSTOCK" ("CATALOGNO" ASC) DISALLOW REVERSE SCANS; CREATE INDEX "SHL "."NSTOCKBYGROUPS" ON "SHL "."NSTOCK" ("GROUPID" ASC) DISALLOW REVERSE SCANS; ALTER TABLE "SHL "."NSTOCK" ADD PRIMARY KEY ("ID"); Необходимо обновить поля GROUPID, SALE и SELFCOST по полю CATALOGNO из mdb. Притом в mdb есть записи которых нет в таблице NSTOCK. 1. Пытаюсь сделать это с помощь LOAD, но не знаю как указать, чтобы данные обновлялись по полю CATALOGNO. 2. Не знаю как выполнить это из php. Я так понимаю что надо делать это через CLP, но положительного результата так и не добился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 18:19 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
из mdb генерирую предварительно файл: 000010006 33 33 0.83 1.57 000010006E 33 33 21.61 41.05 000010007F 33 33 44.92 85.35 000010018C 33 33 85.38 162.23 000010230A 33 33 61.87 117.55 000097059B 26 33 488.89 958.22 000098650 29 29 371.39 724.22 000098651 29 29 371.39 724.22 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 18:21 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
Добрый день. Создаете таблицу для загрузки из файла (1 раз, дальше можно её постоянно использовать): Код: plaintext 1. 2. 3. 4. 5. 2. Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 10:53 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
В файле [TAB], просто так скопировалось. Возможно я что-то не правильно понимаю. пробовал запросы: 1. CALL ADMIN_CMD('load from full_path\mdb.txt of del modified by coldel0x09 method p(2, 3, 4, 5, 6, 7, 1) replace into shl.mdb_tmp(CATALOGNO, NEWGROUPID, OLDGROUPID, COST1, COST2, COST3, STOCKID) nonrecoverable') 2. LOAD CLIENT FROM "Z:\home\sitevw.ru\www\dataInNstock.ls" OF DEL MODIFIED BY COLDEL0x09 METHOD P (2, 3, 4, 5, 6, 7, 1) MESSAGES "Z:\home\sitevw.ru\www\price\log.ls" REPLACE INTO SHL.LOADPRICE (CATALOGNO, NEWGROUPID, OLDGROUPID, COST1, COST2, COST3, STOCKID) NONRECOVERABLE 3. CALL ADMIN_CMD('LOAD CLIENT FROM "Z:\home\sitevw.ru\www\dataInNstock.ls" OF DEL MODIFIED BY COLDEL0x09 METHOD P (2, 3, 4, 5, 6, 7, 1) MESSAGES "Z:\home\sitevw.ru\www\price\log.ls" REPLACE INTO SHL.LOADPRICE (CATALOGNO, NEWGROUPID, OLDGROUPID, COST1, COST2, COST3, STOCKID) NONRECOVERABLE') запрос выполняю с помощью $stmt = db2_exec($connDB2, $sql) в PHP, но результат: Warning: db2_exec() [function.db2-exec]: Statement Execute Failed in Z:\home\sitevw.ru\www\load.php on line 9 и возможно ли обновлять данные сразу в двух таблицах: CREATE TABLE "SHL"."STOCKCOST" ( "STOCKID" INTEGER NOT NULL , "CUSTCLASSID" SMALLINT NOT NULL , "COST1" DOUBLE WITH DEFAULT , "COST2" DOUBLE WITH DEFAULT , "COST3" DOUBLE WITH DEFAULT , "COST4" DOUBLE WITH DEFAULT , "COST5" DOUBLE WITH DEFAULT ) IN "USERSPACE1" ; и указанную ранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 14:47 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
L0gicaВозможно я что-то не правильно понимаю. пробовал запросы:... Какой результат выполнения первых 2-х команд? 3-я не будет работать, т.к. хранимая процедура не может работать с файлами на клиенте и предложение messages - не правильное. LOAD command using the ADMIN_CMD procedure . Т.е. если вы захотите с локальной машины грузить файлы, то это можно делать из командной строки клиента, а не хранимой процедурой. L0gicaи возможно ли обновлять данные сразу в двух таблицах: CREATE TABLE "SHL"."STOCKCOST" ( "STOCKID" INTEGER NOT NULL , "CUSTCLASSID" SMALLINT NOT NULL , "COST1" DOUBLE WITH DEFAULT , "COST2" DOUBLE WITH DEFAULT , "COST3" DOUBLE WITH DEFAULT , "COST4" DOUBLE WITH DEFAULT , "COST5" DOUBLE WITH DEFAULT ) IN "USERSPACE1" ; и указанную ранееЕсли я правильно понял вопрос, то ничто не мешает использовать однажды прогруженную временную таблицу SHL.LOADPRICE несколько раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 15:55 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. результат: Warning: db2_exec() [function.db2-exec]: Statement Execute Failed in Z:\home\sitevw.ru\www\load.php on line 7 а другой вопрос был про возможность в одном запросе обновлять данные в двух таблицах: GROUPID и SALE по CATALOGNO Код: 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. 25. и COST1, по STOCKID для CUSTCLASSID = 1 COST1 = COST1 для CUSTCLASSID = 2 COST1 = COST2 для CUSTCLASSID = 3 COST1 = COST3 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. исходный файл чуть изменился: STOCKID___CATALOGNO____OLDGROUPID_NEWGROUPID__COST1_____COST2______COST3130015____000300043 X____33_________33___________171729.06__326285.21___188901.96130016____000300043A_____33_________33___________71729.06___326285.21___188901.96130017____000300043AX____33_________33___________171729.06__326285.21___188901.96130018____000300043BX____33_________33___________171729.06__326285.21___188901.96 [TAB] заменил на _ для корректного отображения здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 17:06 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
L0gica, Вы можете на сервере из db2cmd выполнить 2 команды: Код: plaintext 1. 2. Что вернет последняя команда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 17:41 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
тоже самое, что и при выполнении через центр управления: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 18:03 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
У меня с db2 v9.1.6a и >php -v PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 12:40 |
|
||
|
Обновление таблицы из mdb
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: plaintext 1. У меня скрипт выполняется не на сервере с db2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35764385&tid=1603468]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 374ms |

| 0 / 0 |
